ui stimmt an sowas hab ich gar nicht gedacht^^
ersetz am besten zeile 8/9 durch folgendes
jetzt bei $speed bzw $v_speed die variablen nr angeben, die die geschwindigkeit speichern sollen.
wenn du jetzt den wert dieser variablen änderst, ändert sich auch die geschwindigkeit.
(wenn der wert der variablen 0 ist, bewegt sich das panorama nur wenn man läuft - also so wies normalerweise ist)
Es ist erschreckend erstaunlich wie einfach das Problem gelöst werden kann. Jetzt muss aber noch mal jemand erklären, warum das eigentlich funktioniert bzw. wieso das Panorama nahtlos an sich selber gehängt wird und nicht nur ein Sprite ziellos über den Bildschirm schwebt. Mit welchen Scripten könnte das denn theoretisch Probleme geben, sorata08 hat ja so was angesprochen?
Weil es ein Plane ist und kein Sprites. Planes sind wie Tapeten, sie wiederholen ihr enthaltenes Muster immer. Bewegt man die Ursprungskoordinaten eines Planes, bewegt man das Muster.
Ich würde aber trotzdem keine globalen Variablen verwenden, sondern Instanzvariablen der Klasse Game_ScreenAber das ist wohl Geschmackssache.
Habs nicht ausprobiert, aber müsste es dadurch das man Graphics.frame_count mit einer Zahl multipliziert mit der Zeit nicht immer schneller werden? Denn Graphics.frame_count wächst ja ständig, je mehr Zeit vergeht.
Also so zB (hab den Inhalt mal dazugeschrieben):
@panorama.ox += Graphics.frame_count (500) * 2
sind gleich @panorama.ox += 1000
nach einiger Zeit aber:
@panorama.ox += Graphics.frame_count (10000) * 2
sind gleich @panorama.ox += 20000
oder mache ich gerade wieder einen Denkfehler? ^^
ne weil beim normalen update der ox/y wert immer wieder auf die normale position zurück gesetzt wird.
heißt der vorher dazu addierte wert wird wieder gelöscht.
wenn man zb nur um 10 erhöht und nicht um einen steigenden wert wie frames, so bleibt die position gleich.
nur halt um 10 weiter nach links/rechts (ka^^) als er normalerweise sein würde.
ich würds etwas anders machen. damit sich der speed noch anpassen lässt.
Die If-Kontrollstruktur ist aber völlig überflüssig, weil man - s.o. - direkt die Variablen abfragen kann.
Das Skript hat noch ein kleines Problem. Da du das Panorama immer vom Mittelpunkt aus verschiebst, und nicht von der letzten Position, bemerkt man Änderungen in der Geschwindigkeit, nicht als eben solcher, sondern als Ruckhafte veränderung der Position.
--
Geändert von The_Burrito (13.12.2008 um 09:09 Uhr)
stimmt :/
hier ne verbesserte version
1 bzw 2 bei game_variables umstellen auf die gewünschte variable
dann muss ich wohl leider nochmal Ruby lernen...
Oder etwas weiter lernen^^
Aber abgesehen dafon, dass ich die Class vergessen habe, war es doch in Odrnung, oder??
@Shining Advances
Super, klappt. Werde es vielleicht in meinem Projekt verwenden, auch wenn ich vielleicht keine scrollenden Panos habe, mal sehen.
@Adrian2000
Nö, meiner Meinung nach irgendwie nicht. So wie es Shining Advances jetzt gepostet hat, so ist es in Ordnung. Schön die Methoden aliased usw.