Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : [XP] Anzeige von Schrift



Kelven
14.09.2006, 17:37
Ich frage mich gerade wie man beim XP möglichst einfach an beliebiger Stelle auf dem Bildschirm Schrift anzeigen lassen kann. Wie das über die Window-Klasse geht weiß ich, aber dort hat man ja das Window selber immer als Hintergrund.

MagicMagor
14.09.2006, 18:53
Du kannst theoretisch das Bild durchsichtig erscheinen lassen.


self.back_opacity = 0

Oder du verwendest kein Window sondern die generelle Spriteklasse.



$test = Sprite.new
# Das Erzeugen eines leeren Bitmaps, das uns als Zeichenfläche dient
$test.bitmap = Bitmap.new(width, height)
# Schriftfarbe setzen
$test.bitmap.font.color = Color.new(255,0,0)
$test.x = 100
$test.y = 20
$test.bitmap.draw_text(0,0, 100, 32, "Dies ist ein Test")

Das sollte funktionieren. Natürlich kann man das ganze in einer Klasse kapseln oder sonstwie strukturieren, aber das ist die normale Methode. Die Window-Klasse ist auch nichts weiter als ein Wrapper über eine bestimmte Sorte von Sprites, die neben der Zeichenfläche (contents) auch das Fensterbild aus dem Windowskin generiert.

Kelven
14.09.2006, 19:17
Vielen Dank, an die Sprite-Klasse hab ich gar nicht gedacht. Und die Schrift ist dann automatisch über allen Pictures, oder muss ich da den Viewport anpassen?

Ach und noch was dazu. Wie lasse ich das Bild denn dann sofort wieder verschwinden? Auf nil setzen alleine reicht ja nicht, dann dauert es ein paar Sekunden, bis der Garbage Collector zuschlägt.

MagicMagor
14.09.2006, 20:59
Viewport ändern brauchst du nicht. Jedes Sprite hat eine Z-Koordinate, je höher diese desto näher am Betrachter.

Löschen kannst du ein Sprite über die Methode "dispose".