Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
fl.ik 

IKManager  - AS3 Flash

Paquetefl.ik
Clasepublic class IKManager
HerenciaIKManager Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

La clase IKManager es una clase contenedora que representa todos los árboles (esqueletos) de cinemática inversa (IK) definidos en un documento. También permite gestionar los esqueletos en tiempo de ejecución.

Los esqueletos se pueden crear sólo con la herramienta de creación de Flash. Cuando se publica un documento de Flash CS4 con esqueletos, la herramienta de creación de Flash almacena una representación XML de los esqueletos y código ActionScript generado en el archivo SWF. En tiempo de ejecución, Flash Player ejecuta el código ActionScript y analiza el XML para recrear los esqueletos.

No es necesario crear una instancia de la clase IKManager; el motor de ejecución crea una instancia de esta clase automáticamente. Además, todas las propiedades y métodos de la clase IKManager son static, por lo que no es necesario hacer referencia a una instancia de la clase IKManager.

Nota: cuando se hace referencia a objetos IKArmature dentro de una clase de documento, asegúrese de que comprueba primero el evento frameConstructed para garantizar que todos los objetos se han llenado.



Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  numArmatures : int
[estática] [solo lectura] Número de esqueletos en el escenario.
IKManager
Métodos públicos
 MétodoDefinido por
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
EventDispatcher
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
  
[estática] Devuelve el esqueleto del índice especificado.
IKManager
  
[estática] Devuelve el esqueleto con el nombre especificado.
IKManager
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Elimina un detector del objeto EventDispatcher.
EventDispatcher
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
[estática] Utilice este método para indicar el contenedor de símbolos en un archivo SWF cargado.
IKManager
 Inherited
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
  
[estática] Activa o desactiva el seguimiento directo de todos los esqueletos.
IKManager
  
trackIKArmature(theTree:IKArmature, enable:Boolean = true):void
[estática] Activa o desactiva el seguimiento directo de la instancia de IKArmature especificada.
IKManager
  
trackIKObject(target:DisplayObject, enable:Boolean = true):*
[estática] Activa o desactiva el seguimiento directo para la instancia del objeto de visualización IK especificado.
IKManager
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
Eventos
 Evento Resumen Definido por
 Inherited[evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos.EventDispatcher
 Inherited[evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos.EventDispatcher
Información sobre propiedades

numArmatures

propiedad
numArmatures:int  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Número de esqueletos en el escenario. Si el archivo SWF sigue cargando otros archivos SWF, los nuevos esqueletos de los archivos SWF cargados no se incluirán.



Implementación
    public static function get numArmatures():int
Información sobre métodos

getArmatureAt

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

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Devuelve el esqueleto del índice especificado.

Parámetros

index:int — El número del índice basado en cero del esqueleto que se quiere recuperar.

Valor devuelto
IKArmature — Devuelve la instancia de IKArmature en el valor del índice especificado.

Ejemplo  ( Cómo utilizar este ejemplo )
En el siguiente ejemplo se recupera el primer esqueleto del árbol. Para hacer referencia a esqueletos dentro de una clase de documento, utilice el evento frameConstructed en lugar del evento addedToStage evento. Esto garantiza que todos los objetos IKArmatures se llenan.
         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étodo 
public static function getArmatureByName(name:String):IKArmature

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Devuelve el esqueleto con el nombre especificado.

Parámetros

name:String — Nombre del esqueleto que se va a recuperar.

Valor devuelto
IKArmature — Devuelve la instancia de IKArmature con el nombre especificado.

Ejemplo  ( Cómo utilizar este ejemplo )
En el siguiente ejemplo se recupera el primer esqueleto del árbol:
         import fl.ik.*;
         // Retrieve the IKArmature named "arm0" and assign to variable "tree"
         var tree:IKArmature = IKManager.getArmatureByName("arm0");
         

setStage

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

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Utilice este método para indicar el contenedor de símbolos en un archivo SWF cargado. Al cargar un archivo SWF que contiene un esqueleto, es necesario indicar la ubicación de los símbolos para el esqueleto en el archivo SWF principal. Si el archivo SWF secundario tiene símbolos de esqueleto en el escenario, el valor es stage o una variable para el escenario.

Parámetros

stage:DisplayObjectContainer — La ubicación de los símbolos de esqueleto en un archivo SWF cargado.


Ejemplo  ( Cómo utilizar este ejemplo )
En el ejemplo siguiente, un archivo SWF carga otro archivo SWF con un esqueleto. El archivo SWF secundario (el que contiene los símbolos de esqueleto) se genera a partir del archivo myAnimation.fla. El archivo SWF principal (el que carga el archivo myAnimation.swf) se genera a partir del archivo Main.fla. El archivo myAnimation.fla contiene un conjunto de símbolos de esqueleto colocados en el escenario. Una línea de ActionScript establece la variable myAnimationStage en el escenario; en este caso, es el contenedor de los símbolos del esqueleto. El código ActionScript del archivo Main.fla utiliza setStage() para indicar al archivo SWF principal el nombre del contenedor de símbolos del archivo SWF secundario.

ActionScript para el archivo myAnimation.fla (para generar el archivo SWF secundario):

         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 para el archivo Main.fla (para generar el archivo SWF principal):

         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étodo 
public static function trackAllArmatures(enable:Boolean = true):void

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Activa o desactiva el seguimiento directo de todos los esqueletos. Cuando está activado el seguimiento directo, el usuario de un archivo SWF con esqueletos puede mover un esqueleto haciendo clic y arrastrándolo.

Parámetros

enable:Boolean (default = true) — Si se establece como false, el seguimiento directo está activado. En caso contrario, está desactivado.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )
En el siguiente ejemplo se impide al usuario de un archivo SWF controlar el movimiento de ningún esqueleto:
             import fl.ik.*;
             // disable live tracking for all armatures in the SWF file
             IKManager.trackAllArmatures(false);
             

trackIKArmature

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

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Activa o desactiva el seguimiento directo de la instancia de IKArmature especificada. Cuando está activado el seguimiento directo, el usuario de un archivo SWF con esqueletos puede mover un esqueleto haciendo clic y arrastrándolo.

Parámetros

theTree:IKArmature — El esqueleto para el que se activa o desactiva el seguimiento directo.
 
enable:Boolean (default = true) — Si se establece como false, el seguimiento directo está activado. En caso contrario, está desactivado.

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )
En el siguiente ejemplo, el usuario de un archivo SWF puede controlar el movimiento de una figura humana haciendo clic y arrastrando cualquier parte de la figura, excepto el torso. La figura está representada por un objeto IKArmature denominado "personTree". Éste contiene un objeto IKObject llamado "torso" que representa el torso de la figura:
             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étodo 
public static function trackIKObject(target:DisplayObject, enable:Boolean = true):*

Versión del lenguaje: ActionScript 3.0
Versión de producto: Flash CS4
Versiones de motor de ejecución: Flash Player 10, AIR 1.5

Activa o desactiva el seguimiento directo para la instancia del objeto de visualización IK especificado. Cuando se activa el seguimiento directo para una instancia de un objeto de visualización IK específico, el usuario puede mover el esqueleto que contiene la instancia del objeto de visualización IK haciendo clic y arrastrándolo.

Parámetros

target:DisplayObject — Instancia del objeto de visualización IK para la que se quiere activar o desactivar el seguimiento directo.
 
enable:Boolean (default = true) — Si se establece como false, el seguimiento directo está activado. En caso contrario, está desactivado.

Valor devuelto
*

Elementos de API relacionados


Ejemplo  ( Cómo utilizar este ejemplo )
En el siguiente ejemplo, el usuario de un archivo SWF puede controlar el movimiento de una figura humana haciendo clic y arrastrando únicamente las manos de la figura. Las manos están representadas por las instancias rightHand y leftHand de los objetos de visualización IK; ambas son instancias 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 ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.