| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Apr 2005
Beiträge: 44
| MC an Horizont bei scrollender Landschaft binden
Moin , so, mal sehen, ob es hier Leute gibt, die wirklich mit ActionScript umgehen können :-). Ich bin gerade dabei, folgende recht simpel klingende Idee umzusetzen. Auf einem Horizont einer zweidimensionalen hügeligen Landschaft (unten Land, oben Himmel) fährt ein Auto entlang des Horizonts und passt sich natürlich der Neigung des Geländes an. Das Auto bleibt dabei immer auf dem Bildschirm, die Landschaft scrollt, ähnlich wie bei einem klassischen Horizontalshooter a la R-Type, unter dem Auto über den Bildschirm. Per Tastensteuerung soll die Geschwindigkeit des Autos schneller und langsamer gemacht werden können. Ich habe zwei verschiedene Ansätze ausprobiert und stecke bei beiden in einer Sackgasse. Mal sehen, ob hier jemand eine Idee hat. Ansatz 1: Pfad-Animation Ich baue die Landschaft und erzeuge parallel zum Horizont einen Pfad an dem ich über sehr viele Frames das Auto mittels Pfad-Animation animiere. Das Ganze wandert in einen MC. Das steuerbare Tempo regle ich mittels Ansteuerung der einzelnen Frames des MC von _root aus. Je schneller, desto mehr Frames werden bei der Pfadanimation übersprungen. Das funktioniert alles auch sehr schön. Beschleunigen und Abbremsen ist kein Problem, die Neigung zum Pfad ist auch easy, sogar eine Abhängigkeit des Tempos vom Neigungswinkel des Autos ist leicht zu realisieren. Das eigentliche Problem hier ist, dass ich die Landschaft nicht groß genug bekomme. Die maximale Arbeitsplatzgröße bei einem 550x400 Pixel-Film liegt bei gut 1300x1300 Pixeln, wenn ich den Film auf maximale 2880x2880 Pixel stelle ist der maximal nutzbare Arbeitsplatz ca. 3600 Pixel breit. Ich kann zwar größere Objekte erstellen, kann dann aber das Auto nicht mehr an Pfadende bzw Anfang legen, da dann einer von beiden nicht mehr im sichtbaren Arbeitsplatzbereich ist. Ich habe jetzt zwei Ideen als Workarround gehabt. 1. Pfad und Landschaft kleiner anlegen und dann auf der Hauptbühne größer skalieren. Geht nicht, da Flash ab einer bestimmten Skalierung abregelt. 2. Wenn Pfad-Ani-MC 1 durchgelaufen ist, einfach durch einen anderen austauschen. Bekomme ich nicht auf die Reihe, da ich die Autos der beiden Clips nicht deckungsgleich auf die Bühne bekomme. Hier muss ich wohl die Position des Autos in Relation zur Landschaft in Verbindung zum Koordinatensystem von _root rausbekommen und dann den neuen MC in gleicher Abhängigkeit platzieren. Das übersteigt gerade meine Denkfähigkeit. Hat jemand eine Idee, wie man das lösen kann? Ansatz 2: Tile-based Landscape Ich erzeuge die Landschaft aus einzelnen Teilen. Die Anordnung der Teile steuere ich mit einem Array. Das Auto setze ich dann auf den Horizont, in dem ich das _y des Autos mit der Höhe des Elements, über denen sich das Auto befindet kombiniere. Funktioniert leider nur bedingt gut. Hier ist das Problem, dass ich immer nur die äußeren Kanten des Begrenzungsvierecks des Landschaftsteils abfragen kann. Mit hitTest komme ich auch nicht weiter, das auch das nur auf das Begrenzungsviereck reagiert. Das Ergebnis dieses Problems ist, dass das Auto nur dann mit allen Rädern auf dem Boden steht, wenn der Boden flach ist. Bei Steigungen/Gefälle schwebt das Auto dann durch die Luft, da es sich nur an der max. Höhe des Bodenteils orientieren kann. Wie bekomme ich das Auto an die Elemente angelegt? Ich kann die Teile natürlich auch ganz klein machen, aber das geht auf die Performance und dann muss ich immer noch rausbekommen, wie ich den Neigungswinkel für das Auto bestimme. Bin mal gespannt, ob jemandem hier brauchbare Lösungsansätze einfallen. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |