Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
fl.ik 

IKManager  - AS3 Flash

Packagefl.ik
Classepublic class IKManager
HéritageIKManager Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

La casse IKManager est une classe conteneur représentant toutes les arborescences (squelettes) de cinématique inverse (IK) définies dans un document et permet de gérer ces squelettes à l’exécution.

Les squelettes ne peuvent être créés que dans l’outil de création de Flash. Lorsque vous publiez un document Flash CS4 avec des squelettes, l’outil de création de Flash stocke une représentation XML des squelettes et le code ActionScript généré dans le fichier SWF. Au moment de l’exécution, Flash Player exécute le code ActionScript et analyse le code XML pour recréer les squelettes.

Il n’est pas nécessaire de créer une occurrence de la classe IKManager car celle-ci est créée automatiquement par le moteur d’exécution. De plus, toutes les propriétés et méthodes de la classe IKManager sont statiques ; il n’est donc pas nécessaire de faire référence à une occurrence de la classe IKManager.

Remarque : lors du référencement d’objets IKArmature au sein d’une classe de document, il convient tout d’abord de vérifier l’événement frameConstructed afin de s’assurer que tous les objets ont été renseignés.



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  numArmatures : int
[statique] [lecture seule] Nombre de squelettes sur la scène.
IKManager
Méthodes publiques
 MéthodeDéfini par
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
  
[statique] Renvoie le squelette à l’index spécifié.
IKManager
  
[statique] Renvoie le squelette portant le nom spécifié.
IKManager
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
  
[statique] Utilisez cette méthode pour spécifier le conteneur de symboles dans un fichier SWF chargé.
IKManager
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
  
[statique] Active ou désactive le suivi en direct pour tous les squelettes.
IKManager
  
trackIKArmature(theTree:IKArmature, enable:Boolean = true):void
[statique] Active ou désactive le suivi en direct de l’occurrence IKArmature spécifiée.
IKManager
  
trackIKObject(target:DisplayObject, enable:Boolean = true):*
[statique] Active ou désactive le suivi en direct pour l’occurrence d’objet d’affichage IK spécifiée.
IKManager
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
Détails de la propriété

numArmatures

propriété
numArmatures:int  [lecture seule]

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Nombre de squelettes sur la scène. Si le fichier SWF charge ensuite d’autres fichiers SWF, les squelettes éventuellement compris dans les fichiers SWF chargés ne sont pas inclus.



Implémentation
    public static function get numArmatures():int
Détails de la méthode

getArmatureAt

()méthode
public static function getArmatureAt(index:int):IKArmature

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Renvoie le squelette à l’index spécifié.

Paramètres

index:int — Numéro d’index en base 0 du squelette à récupérer.

Valeur renvoyée
IKArmature — Renvoie l’occurrence IKArmature à l’index spécifié.

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant récupère le premier squelette de l’arborescence. Pour référencer des squelettes au sein d’une classe de document, utilisez l’événement frameConstructed plutôt que l’événement addedToStage. Vous vous assurez ainsi que tous les objets IKArmature sont renseignés.
         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

()méthode 
public static function getArmatureByName(name:String):IKArmature

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Renvoie le squelette portant le nom spécifié.

Paramètres

name:String — Non du squelette à récupérer.

Valeur renvoyée
IKArmature — Renvoie l’occurrence IKArmature portant le nom spécifié.

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant extrait le premier squelette de l’arborescence :
         import fl.ik.*;
         // Retrieve the IKArmature named "arm0" and assign to variable "tree"
         var tree:IKArmature = IKManager.getArmatureByName("arm0");
         

setStage

()méthode 
public static function setStage(stage:DisplayObjectContainer):void

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Utilisez cette méthode pour spécifier le conteneur de symboles dans un fichier SWF chargé. Lorsque vous chargez un fichier SWF contenant un squelette, vous devez indiquer au fichier SWF parent l’emplacement des symboles correspondant à ce squelette. Si le fichier SWF enfant possède des symboles de squelette sur la scène, la valeur est stage ou une variable pour la scène.

Paramètres

stage:DisplayObjectContainer — Emplacement des symboles de squelette dans un fichier SWF chargé.


Exemple  ( Comment utiliser cet exemple )
Dans l’exemple suivant, un fichier SWF charge un autre fichier SWF contenant un squelette. Le fichier SWF enfant (celui qui contient les symboles de squelette) est généré à partir du fichier myAnimation.fla. Le fichier SWF parent (celui qui charge le fichier myAnimation.swf) est généré à partir du fichier Main.fla. Le fichier myAnimation.fla contient un ensemble de symboles de squelette placés sur la scène. Une ligne de code ActionScript définit la variable myAnimationStage pour la scène, qui dans ce cas est le conteneur de symboles de squelette. Le code ActionScript du fichier Main.fla utilise setStage() pour indiquer au fichier SWF parent le nom du conteneur de symboles dans le fichier SWF enfant.

Code ActionScript pour le fichier myAnimation.fla (pour générer le fichier SWF enfant) :

         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;
         

Code ActionScript pour le fichier Main.fla (pour générer le fichier SWF parent) :

         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

()méthode 
public static function trackAllArmatures(enable:Boolean = true):void

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Active ou désactive le suivi en direct pour tous les squelettes. Lorsque le suivi en direct est activé, l’utilisateur d’un fichier SWF contenant des squelettes peut déplacer un squelette en cliquant sur son entrée et en la faisant glisser.

Paramètres

enable:Boolean (default = true) — Si défini sur false, le suivi en direct est désactivé. Dans le cas contraire, le suivi en direct est activé.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant empêche l’utilisateur d’un fichier SWF de contrôler le mouvement des squelettes :
             import fl.ik.*;
             // disable live tracking for all armatures in the SWF file
             IKManager.trackAllArmatures(false);
             

trackIKArmature

()méthode 
public static function trackIKArmature(theTree:IKArmature, enable:Boolean = true):void

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Active ou désactive le suivi en direct de l’occurrence IKArmature spécifiée. Lorsque le suivi en direct est activé, l’utilisateur d’un fichier SWF contenant des squelettes peut déplacer un squelette en cliquant sur son entrée et en la faisant glisser.

Paramètres

theTree:IKArmature — Squelette pour lequel le suivi en direct doit être activé ou désactivé.
 
enable:Boolean (default = true) — Si défini sur false, le suivi en direct est désactivé. Dans le cas contraire, le suivi en direct est activé.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant permet à l’utilisateur d’un fichier SWF de contrôler le mouvement d’une silhouette humaine en cliquant sur celle-ci et en en faisant glisser une partie quelconque à l’exception du torse. La silhouette est représentée par une occurrence IKArmature nommée « personTree », qui contient un objet IKObject nommé « torso » représentant le torse de la silhouette :
             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

()méthode 
public static function trackIKObject(target:DisplayObject, enable:Boolean = true):*

Version du langage: ActionScript 3.0
Version du produit: Flash CS4
Versions du moteur d’exécution: Flash Player 10, AIR 1.5

Active ou désactive le suivi en direct pour l’occurrence d’objet d’affichage IK spécifiée. Lorsque le suivi en direct est activé pour une occurrence d’objet d’affichage IK spécifique, l’utilisateur peut déplacer le squelette contenant cette occurrence en cliquant et en faisant glisser cet objet d’affichage IK.

Paramètres

target:DisplayObject — Occurrence d’objet d’affichage IK pour laquelle le suivi en direct doit être activé ou désactivé.
 
enable:Boolean (default = true) — Si défini sur false, le suivi en direct est désactivé. Dans le cas contraire, le suivi en direct est activé.

Valeur renvoyée
*

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant permet à l’utilisateur d’un fichier SWF de contrôler le mouvement d’une silhouette humaine en cliquant et en faisant glisser uniquement ses mains. Les mains sont représentées par des occurrences d’objets d’affichage IK rightHand et leftHand ; toutes deux sont des occurrences de MovieClip :
             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);
             




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.