PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleine Frage



Expresseon
03.09.2007, 19:12
Kann mir jemand eine "Rubyzeile" machen, die die Wörter im Scene_Title mittig anzeigen lässt? Danke im Vorraus. :)

Mani
03.09.2007, 19:17
Welche Wörter meinst du? Meinst du, dass es die Textbox in der Mitte anzeigen soll? Wörter? O__o

Expresseon
03.09.2007, 19:25
Die Auswahlbox ist ja schon in der Mitte. In ihr stehen Befehle wie "Neu" oder "Laden" etc... Diese sollen wie in einem Schreibprogramm zentriert angezeigt werden, also nicht so:

Neu
Laden
Ende

sondern so:


Neu
Laden
Ende

Kelven
03.09.2007, 19:43
Das geht über die Methode zum Anzeigen von Text. Die ist ja so definiert:


draw_text(x, y, width, height, str[, align])

Align ist optional, wenn du dort 1 wählst, wird der Text zentriert. Ich hab das aber beim Titelbild nie hinbekommen und mußte deswegen notgedrungen eine eigene Window_Command-Klasse mit meinen Parametern anlegen. Jemand, der sich mit Ruby auskennt, findet da bestimmt eine bessere Lösung.

-KD-
04.09.2007, 00:52
Naja, eine andere Möglichkeit gibt es auch nicht, du könntest höchstens noch die Window_Command Klasse erweitern:

class Window_Command
alias mittig_initialize initialize
def initialize(width, commands, align=0)
@align = align
mittig_initialize(width, commands)
end
def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index], @align)
end
end

Und dann im Titelbildschirm bei

@command_window = Window_Command.new(192, [s1, s2, s3])
noch eine 1 hinten dran hängen

@command_window = Window_Command.new(192, [s1, s2, s3], 1)

Expresseon
04.09.2007, 10:00
Danke -KD-, gute Möglichkeit die auch funktioniert und meiner Meinung nach im Spiel besser aussieht.