| 包 | fl.ik |
| 类 | public class IKManager |
| 继承 | IKManager EventDispatcher Object |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
骨架只能在 Flash 创作工具中创建。在发布具有骨架的 Flash CS4 文档时,Flash 创作工具将在 SWF 文件中保存骨架的 XML 表示形式和生成的一些 ActionScript 代码。在运行时,Flash Player 将执行该 ActionScript 代码,并分析 XML 以重新创建骨架。
您不必创建 IKManager 类的实例:运行时会自动创建该类的实例。此外,IKManager 类的所有属性和方法都是静态的:您不必引用 IKManager 类的实例。
注意:在文档类中引用 IKArmature 对象时,必须确保首先检查 frameConstructed 事件,以确保已填充所有对象。
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| numArmatures : int [静态] [只读]
舞台上骨架的数量。 | IKManager | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
[静态]
返回指定索引处的骨架。 | IKManager | ||
[静态]
返回具有指定名称的骨架。 | IKManager | ||
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
[静态]
使用此方法指示加载的 SWF 文件中的符号容器。 | IKManager | ||
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
[静态]
启用或禁用所有骨架的实时跟踪。 | IKManager | ||
[静态]
启用或禁用指定 IKArmature 实例的实时跟踪。 | IKManager | ||
[静态]
启用或禁用指定 IK 显示对象实例的实时跟踪。 | IKManager | ||
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
numArmatures | 属性 |
getArmatureAt | () | 方法 |
public static function getArmatureAt(index:int):IKArmature| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
返回指定索引处的骨架。
参数
index:int — 要检索的骨架的从零开始的索引号。
|
IKArmature — 返回指定索引处的 IKArmature 实例。
|
示例 ( 如何使用本示例 )
frameConstructed 事件而不是 addedToStage 事件。这会确保填充所有 IKArmature。
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 | () | 方法 |
public static function getArmatureByName(name:String):IKArmature| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
返回具有指定名称的骨架。
参数
name:String — 要检索的骨架的名称。
|
IKArmature — 返回具有指定名称的 IKArmature 实例。
|
示例 ( 如何使用本示例 )
import fl.ik.*;
// Retrieve the IKArmature named "arm0" and assign to variable "tree"
var tree:IKArmature = IKManager.getArmatureByName("arm0");
setStage | () | 方法 |
public static function setStage(stage:DisplayObjectContainer):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
使用此方法指示加载的 SWF 文件中的符号容器。加载包含骨架时的 SWF 文件时,需要向父 SWF 文件表明骨架符号的位置。如果子 SWF 文件包含位于舞台上的骨架符号,则此值为 stage 或代表舞台的变量。
参数
stage:DisplayObjectContainer — 加载的 SWF 文件中骨架符号的位置。
|
示例 ( 如何使用本示例 )
setStage() 将子 SWF 文件中的符号容器的名称告知父 SWF 文件。
myAnimation.fla 文件的 ActionScript(用于生成子 SWF 文件):
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;
Main.fla 文件的 ActionScript(用于生成父 SWF 文件):
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 | () | 方法 |
public static function trackAllArmatures(enable:Boolean = true):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
启用或禁用所有骨架的实时跟踪。如果启用了实时跟踪,包含骨架的 SWF 文件的用户可以通过单击并拖动骨架来移动骨架。
参数
enable:Boolean (default = true) — 如果设置为 false,则禁用实时跟踪。否则启用实时跟踪。
|
相关 API 元素
示例 ( 如何使用本示例 )
import fl.ik.*;
// disable live tracking for all armatures in the SWF file
IKManager.trackAllArmatures(false);
trackIKArmature | () | 方法 |
public static function trackIKArmature(theTree:IKArmature, enable:Boolean = true):void| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
启用或禁用指定 IKArmature 实例的实时跟踪。如果启用了实时跟踪,包含骨架的 SWF 文件的用户可以通过单击并拖动骨架来移动骨架。
参数
theTree:IKArmature — 要为其启用或禁用实时跟踪的骨架。
| |
enable:Boolean (default = true) — 如果设置为 false,则禁用实时跟踪。否则启用实时跟踪。
|
相关 API 元素
示例 ( 如何使用本示例 )
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 | () | 方法 |
public static function trackIKObject(target:DisplayObject, enable:Boolean = true):*| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flash CS4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
启用或禁用指定 IK 显示对象实例的实时跟踪。如果为特定的 IK 显示对象实例启用了实时跟踪,则用户可以通过单击并拖动 IK 显示对象来移动包含该 IK 显示对象实例的骨架。
参数
target:DisplayObject — 要为其启用或禁用实时跟踪的 IK 显示对象实例。
| |
enable:Boolean (default = true) — 如果设置为 false,则禁用实时跟踪。否则启用实时跟踪。
|
* |
相关 API 元素
示例 ( 如何使用本示例 )
rightHand 和 leftHand 表示;两个实例均为 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);
Tue Jun 12 2018, 11:04 AM Z
隐藏继承的公共属性
显示继承的公共属性