Paket | fl.ik |
Klasse | public class IKManager |
Vererbung | IKManager EventDispatcher Object |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Skelette können nur im Flash-Authoring-Tool erstellt werden. Wenn Sie ein Flash CS4-Dokument mit Skeletten veröffentlichen, speichert das Flash-Authoring-Tool eine XML-Darstellung der Skelette sowie generierten ActionScript-Code in der SWF-Datei. Zur Laufzeit führt Flash Player den ActionScript-Code aus und analysiert den XML-Code, um die Skelette neu zu erstellen.
Sie brauchen keine Instanz der IKManager-Klasse zu erstellen; die Laufzeitumgebung erstellt automatisch eine Instanz dieser Klasse. Außerdem sind alle Eigenschaften und Methoden der IKManager-Klasse statisch; Sie brauchen nicht auf eine Instanz der IKManager-Klasse zu verweisen.
Hinweis: Wenn Sie auf IKArmature-Objekte innerhalb einer Dokumentklasse verweisen, achten Sie darauf, zuerst das frameConstructed
-Ereignis zu überprüfen, um sicherzustellen, dass alle Objekte ausgefüllt sind.
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
numArmatures : int [statisch] [schreibgeschützt]
Die Anzahl der Skelette auf der Bühne. | IKManager |
Methode | Definiert von | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
[statisch]
Gibt das Skelett an der angegebenen Indexposition zurück. | IKManager | ||
[statisch]
Gibt das Skelett mit dem angegebenen Namen zurück. | IKManager | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
[statisch]
Verwenden Sie diese Methode, um den Container von Symbolen in einer geladenen SWF-Datei anzugeben. | IKManager | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
[statisch]
Aktiviert oder deaktiviert die Live-Verfolgung für alle Skelette. | IKManager | ||
[statisch]
Aktiviert oder deaktiviert die Live-Verfolgung der angegebenen IKArmature-Instanz. | IKManager | ||
[statisch]
Aktiviert oder deaktiviert die Live-Verfolgung der angegebenen IK-Anzeigeobjektinstanz. | IKManager | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
numArmatures | Eigenschaft |
numArmatures:int
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Die Anzahl der Skelette auf der Bühne. Wenn die SWF-Datei nachfolgend andere SWF-Dateien lädt, sind die Skelette in den geladenen SWF-Dateien nicht eingeschlossen.
Implementierung
public static function get numArmatures():int
getArmatureAt | () | Methode |
public static function getArmatureAt(index:int):IKArmature
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Gibt das Skelett an der angegebenen Indexposition zurück.
Parameter
index:int — Die auf null basierende Indexnummer des abzurufenden Skeletts.
|
IKArmature — Gibt die IKArmature-Instanz an der angegebenen Indexposition zurück.
|
Beispiel ( Verwendung dieses Beispiels )
frameConstructed
-Ereignis anstatt des addedToStage
-Ereignisses. Auf diese Weise stellen Sie sicher, dass alle IKArmatures ausgefüllt sind.
package { import fl.ik; import flash.display.MovieClip; import flash.events; public class IKDocClass extends MovieClip { public var arm:IKArmature; function IKDocClass() { addEventListener("frameConstructed", onFC); } function onFC(evt:Event):void { //Refer to armatures in frameConstructed arm = IKManager.getArmatureAt(0); trace(arm.name); removeEventListener("frameConstructed", onFC); } } }
getArmatureByName | () | Methode |
public static function getArmatureByName(name:String):IKArmature
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Gibt das Skelett mit dem angegebenen Namen zurück.
Parameter
name:String — Der Name des abzurufenden Skeletts.
|
IKArmature — Gibt die IKArmature-Instanz mit dem angegebenen Namen zurück.
|
Beispiel ( Verwendung dieses Beispiels )
import fl.ik.*; // Retrieve the IKArmature named "arm0" and assign to variable "tree" var tree:IKArmature = IKManager.getArmatureByName("arm0");
setStage | () | Methode |
public static function setStage(stage:DisplayObjectContainer):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Verwenden Sie diese Methode, um den Container von Symbolen in einer geladenen SWF-Datei anzugeben. Wenn Sie eine SWF-Datei laden, die ein Skelett enthält, müssen Sie der übergeordneten SWF-Datei die Position der Symbole für das Skelett angeben. Wenn die untergeordnete SWF-Datei die Skelettsymbole auf der Bühne hat, ist der Wert stage
oder eine Variable für die Bühne.
Parameter
stage:DisplayObjectContainer — Die Position der Skelettsymbole in einer geladenen SWF-Datei.
|
Beispiel ( Verwendung dieses Beispiels )
setStage()
, um der übergeordneten SWF-Datei den Namen des Symbolcontainers in der untergeordneten SWF-Datei mitzuteilen.
ActionScript-Code für die Datei „myAnimation.fla“ (um die untergeordnete SWF-Datei zu generieren):
import fl.ik.*; var myAnimationIKM = IKManager; var myAnimationArm:IKArmature = IKManager.getArmatureAt(0); // set a variable for the stage containing the armature symbols var myAnimationStage:DisplayObjectContainer = stage;
ActionScript-Code für die Datei „Main.fla“ (um die übergeordnete SWF-Datei zu generieren):
var myLoader:Loader = new Loader(); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteFunc); function onCompleteFunc(event:Event) { // indicate container of the armature symbols myLoader.content.myAnimationIKM.setStage(loader.content.myAnimationStage); myLoader.content.myAnimationArm.registerElements(loader.content.myAnimationStage); myLoader.content.myAnimationIKM.trackAllArmatures(); } myLoader.load(new URLRequest("myAnimation.swf")); addChild(myLoader);
trackAllArmatures | () | Methode |
public static function trackAllArmatures(enable:Boolean = true):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Aktiviert oder deaktiviert die Live-Verfolgung für alle Skelette. Wenn die Live-Verfolgung aktiviert ist, kann der Benutzer einer SWF-Datei, die Skelette enthält, ein Skelett durch Klicken und Ziehen bewegen.
Parameter
enable:Boolean (default = true ) — Bei der Einstellung false ist die Live-Verfolgung deaktiviert. Andernfalls ist die Live-Verfolgung aktiviert.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import fl.ik.*; // disable live tracking for all armatures in the SWF file IKManager.trackAllArmatures(false);
trackIKArmature | () | Methode |
public static function trackIKArmature(theTree:IKArmature, enable:Boolean = true):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Aktiviert oder deaktiviert die Live-Verfolgung der angegebenen IKArmature-Instanz. Wenn die Live-Verfolgung aktiviert ist, kann der Benutzer einer SWF-Datei, die Skelette enthält, ein Skelett durch Klicken und Ziehen bewegen.
Parameter
theTree:IKArmature — Das Skelett, für das die Live-Verfolgung aktiviert oder deaktiviert werden soll.
| |
enable:Boolean (default = true ) — Bei der Einstellung false ist die Live-Verfolgung deaktiviert. Andernfalls ist die Live-Verfolgung aktiviert.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import fl.ik.*; // turn off tracking for all armatures in the SWF file IKManager.trackAllArmatures(false); // enable live tracking for the entire armature IKManager.trackIKArmature(personTree, true); // disable live tracking for the figure's torso IKManager.trackIKObject(torso, false);
trackIKObject | () | Methode |
public static function trackIKObject(target:DisplayObject, enable:Boolean = true):*
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS4 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Aktiviert oder deaktiviert die Live-Verfolgung der angegebenen IK-Anzeigeobjektinstanz. Wenn die Live-Verfolgung für eine bestimmte IK-Anzeigeobjektinstanz aktiviert ist, kann der Benutzer das Skelett mit der IK-Anzeigeobjektinstanz bewegen, indem er auf dieses IK-Anzeigeobjekt klickt und es zieht.
Parameter
target:DisplayObject — Die Instanz des IK-Anzeigeobjekts, für die die Live-Verfolgung aktiviert oder deaktiviert werden soll.
| |
enable:Boolean (default = true ) — Bei der Einstellung false ist die Live-Verfolgung deaktiviert. Andernfalls ist die Live-Verfolgung aktiviert.
|
* |
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
rightHand
und leftHand
repräsentiert, die beide MovieClip-Instanzen sind:
import fl.ik.*; // turn off tracking for all armatures in the SWF file IKManager.trackAllArmatures(false); // enable live tracking for the right hand IKManager.trackIKObject(rightHand, true); // enable live tracking for the left hand IKManager.trackIKObject(leftHand, true);
Tue Jun 12 2018, 10:04 AM Z