Angeregt durch zwei Kommentare im vorigen Beitrag, habe ich ein ActionScript-Beispiel zum Thema "Inverse Kinematik" erstellt. Es zeigt, wie man ein Skelett über ActionScript-Code animieren kann.
Beispiel anschauen
Vorbereitungen mit dem Bone-Werkzeug
Ganz ohne Flash IDE geht es nicht. Hier baut man zuerst ein Skelett und gibt ihm einen Instanznamen (meinSkelett
). Wichtig: Damit es über ActionScript ansprechbar ist, stellt man "Laufzeit" als "Typ" ein ("Eigenschaften > Optionen > Typ").
Außerdem nenne ich den äußersten Knochen (Bone) meinKnochen
.
Hier noch ein Video
Objekt animieren
Im AS-Code schafft man zunächst eine Referenz zum Skelett, dann zum entsprechenden Knochen. Dieser Knochen hat zwei Gelenke. Eines davon ist dem Anfang des Skeletts zugewandt (Anfangsgelenk, headJoint
), das andere dem Ende (Endgelenk, tailJoint
). Im Beispiel verwende ich das äußere Gelenk.
Um das Skelett zu animieren, kommt ein Objekt der Klasse IKMover
zum Einsatz. Es wird mit dem obigen Gelenk und dessen Anfangsposition initialisiert. Beim Bewegen der Maus wird das Gelenk immer auf die aktuelle Mausposition bewegt. Die restlichen Glieder der Kette bewegen sich aufgrund der Skelettstruktur automatisch mit.
Der Code lautet:
-
// Skelett von der Bühne anhand des Namens erfassen
-
"meinSkelett");
-
-
// den Knochen anhand des Namens erfassen (es ist der äußerste Knochen)
-
"meinKnochen");
-
-
// neues Gelenk mit Endgelenk dieses Knochen initialisieren
-
// neues IKMover-Objekt zur Steuerung des Skeletts (init mit Gelenk und Anfangsposition)
-
// neue Zielkoordinaten anhand der Mausposition
-
Ein Kommentar zum Beitrag "Flash CS4: Inverse Kinematik über ActionScript steuern"
Cool gemacht. Vielen Dank für die Anleitung
Schreibe einen Kommentar