Nen Freund und ich arbeiten gerade an einem Game (XP) worin es unter anderem eine Art "Blinzeln" Feature geben soll. Das ganze hat einen tieferen Sinn der auch mit der Story zu tun hat, wichtig ist jedenfalls, das nach und nach der Bildschirm immer mehr "Verschwommen" erscheinen soll.
Zuerst hatten wir die Idee einfach ein glasiges, transparentes Bild drüber zu legen, und anhand der Opacity die Stärke zu regulieren. Schnell wurde uns klar das das eigentlich garnicht möglich ist, da sowas nur auf einem bereits exestierenden Bild funktioniert (zum Beispiel wenn man ein Menü aufruft und der Hintergrund einfriert), nicht in einem ständig bewegendem Spiel.
Ich habe noch allerhand rumprobiert, muss aber sagen das mir auch über Ruby keine Lösung einfällt (bei Google habe ich auch nichts nützliches gefunden, halt nur sachen für Standbilder).
Dann kam mir sehr schnell dieses Forum in den Sinn, also dachte ich mir, schilder ich 's euch einfach mal, kann ja nicht schaden.
Danke schonmal im Vorraus!
Ernsthaft: Das bei weitem genialer als ich es mir überhaupt erhofft hatte! Der Effekt ist perfekt für unsere Zwecke.
1 Kleinigkeit habe ich nur noch verändert, und zwar habe ich in den Update-Teil noch die Opacity rein gesetzt, da sich diese ja ständig im Spiel verändert (sie steht jetzt auch generell auf einer Variable). Jetzt brauch ichs nur noch zu aktivieren und es läuft perfekt. =]
Creditseintrag haben du und white-flute auf jeden fall bei uns sicher, und auch ein big THANKS.
der maker hat die angewohnheit sich bei call scripts, die auf "= false" enden, aufzuhängen, deshalb das (eigentlich nutzlose) a = "b"
...
Das lässt sich eigentlich ganz einfach erklären. Ruby benutzt immer das Ergebnis des letzten durchgeführten Statements als Ergebnis für die Methode. Am Schluss einer Methode kann mans ich also das return Keyword eigentlich schenken (auch wenn ichs der Leserlichkeit halber trotzdem schreibe).
Das Ergebnis des letzten durchgeführten Statements ist auch das Ergebnis welches die eval Methode zurückliefert, welche die Interpreter Klasse benutzt um Script Eventcommands durchzuführen. Dieses ergebnis wird dann von command_355 Methode (Call Script...) zurückgeliefert.
Das Standardverhalten des Interpreters ist es, mit der Abarbeitung von Events aufzuhören sobald eine der command_xxx Methoden false zurückliefert.
Fazit: Führt man ein Script aus, welches am Ende einen Ausdruck hat der false liefern könnte, sollte man nachher ein Dummystatement setzen, sofern nicht beabsichtigt ist mit diesem Statement zu entscheiden ob der Interpreter weiterlaufen soll. Ein einfaches true würde dabei genügen.