Todu
26.11.2011, 01:09
Hi :D, wieder mal Fehler, die sich mir definitiv nicht erschliessen.
Folgende Funktion aus einer Subklasse von Window_Base:
(Mal mit den beiden Test-Ausgabe die zwischendurch drin waren)
def refresh
self.contents.clear
self.contents.font.color=normal_color
p @index
case @index
when 0
p "0 case proc"
self.contents.draw_text(self.x, self.y, 608, 32, "bla")
self.contents.draw_text(self.x, self.y+32, 608, 32, "mehr bla")
self.contents.draw_text(self.x, self.y+64, 608, 32, "noch mehr bla")
p "ende case"
end
end
Im initialize ist ganz am Schluss ein refresh drin. Der Funktioniert soweit gut, der Text wird im Fenster wunderbar angezeigt.
Wenn ich jetzt aber meinen Input drücke, der den Index ändert, funktioniert der refresh nicht.
self.contents.clear funktioniert. Das Fenster ist leer.
@index wird mir korrekterweise als 0 ausgegeben. - Wie auch anders, es wird aufgrund derzeitig fehlender Optionen modulo 1 gerechnet und gesetzt.
Die Strings werden mir auch bei jedem geplanten Aufruf von refresh ausgegeben. Ergo wird der case komplett ausgeführt.
Trotzdem ist nur der erste refresh erfolgreich.
Was mache ich zwischendurch?
Eigentlich nichts mit dem Fenster.
Es wird im initialize mit y=0 gecallt, und nach dem ersten refresh (im initialize) aus der Scene-Klasse auf y=352 gesetzt.
Ansonsten passiert damit vorm refresh nichts mehr ausser dem neuzuweisen von @index (per attr_writer).
Any Ideas? Aus dem Code selbst lässt kann ich den Fehler nicht herausnehmen.
Und ich hoffe mal schwer für mich dass es nicht so stupide wie beim letzten mal ist <.<°
Folgende Funktion aus einer Subklasse von Window_Base:
(Mal mit den beiden Test-Ausgabe die zwischendurch drin waren)
def refresh
self.contents.clear
self.contents.font.color=normal_color
p @index
case @index
when 0
p "0 case proc"
self.contents.draw_text(self.x, self.y, 608, 32, "bla")
self.contents.draw_text(self.x, self.y+32, 608, 32, "mehr bla")
self.contents.draw_text(self.x, self.y+64, 608, 32, "noch mehr bla")
p "ende case"
end
end
Im initialize ist ganz am Schluss ein refresh drin. Der Funktioniert soweit gut, der Text wird im Fenster wunderbar angezeigt.
Wenn ich jetzt aber meinen Input drücke, der den Index ändert, funktioniert der refresh nicht.
self.contents.clear funktioniert. Das Fenster ist leer.
@index wird mir korrekterweise als 0 ausgegeben. - Wie auch anders, es wird aufgrund derzeitig fehlender Optionen modulo 1 gerechnet und gesetzt.
Die Strings werden mir auch bei jedem geplanten Aufruf von refresh ausgegeben. Ergo wird der case komplett ausgeführt.
Trotzdem ist nur der erste refresh erfolgreich.
Was mache ich zwischendurch?
Eigentlich nichts mit dem Fenster.
Es wird im initialize mit y=0 gecallt, und nach dem ersten refresh (im initialize) aus der Scene-Klasse auf y=352 gesetzt.
Ansonsten passiert damit vorm refresh nichts mehr ausser dem neuzuweisen von @index (per attr_writer).
Any Ideas? Aus dem Code selbst lässt kann ich den Fehler nicht herausnehmen.
Und ich hoffe mal schwer für mich dass es nicht so stupide wie beim letzten mal ist <.<°