2010-11-26 10 views
2

Ich habe mit der Box2D-Engine gespielt, und es ist großartig, ich liebe es. Ich erstelle ein Flash-Spiel mit einem Zeitreisenden, seine Fähigkeit ist es, die Zeit zu verlangsamen und zu beschleunigen. Ich verwende verschiedene Zeitschritte, um eine schnelle und langsame Bewegung zu simulieren.Box2D mit Actionscript 3, Simulation verschiedener Zeitschritte für Objekte

Meine Frage ist: Ist es möglich, Objekte zu verschiedenen Zeitpunkten zu betreiben? Mein Ziel ist es, die Umgebung in Slow/Fast Motion zu bewegen, aber ich möchte, dass mein Hauptcharakter normal bleibt, damit er nicht davon beeinflusst wird. Wenn nicht, wie würde ich meinen Charakter in Zeitlupe beschleunigen oder im Zeitraffer verlangsamen?

Vielen Dank im Voraus,
Will

Antwort

0

Seit Box2D eine Physik-Engine ist, hat es nur eine Welt, das Spiel in, so dass nur ein Framerate laufen kann über die gesamte Szene angewandt werden.

Um Ihr Problem zu lösen, müssen Sie viele Zeichen erstellen, jeder hat seine Animation mit verschiedenen FPS, ich meine ein (schneller Charakter, normaler Charakter, langsamer Charakter) und laden Sie den geeigneten Charakter auf Anfrage (so denke ich das Wenn Sie ein Zeichen laden müssen, muss es dynamisch geladen werden - sagen Sie es in einer separaten SWF-Datei.

+0

Hallo LordCover, danke für deine Antwort. Ja, ich verstehe, woher du kommst, leider ist der Charakter, den der Benutzer steuert, auch ein box2d-Objekt, also kann die Geschwindigkeit des Charakters nicht durch Verwendung separater SWFs geändert werden. Prost, Will – WillDonohoe

1

@willdonohoe Ich denke @lordcover bedeutete nur die Movieclips, die Sie verwendeten.

Wie bei den box2d-Objekten, da der Spieler relativ zu allem schneller wird, ändere den Zeitschritt wie du bist und beschleunige dann den Spieler. Fügen Sie bei Bedarf weitere Iterationen hinzu, um die Konsistenz zu erhalten. mach das Gegenteil für schnell alles andere und langsamer Spieler.

+0

Vergessen Sie nicht, es zu akzeptieren, wenn es hilfreich war. Ich habe auch nicht bemerkt, wie alt diese Frage ist: /. – Shannon