API / Armature
类: Armature
骨架是骨骼动画系统的核心。
继承
实现
构造函数
构造函数
new Armature(): Armature;
返回
Armature
继承自
属性
_alphaDirty
_alphaDirty: boolean;
Internal
_armatureData
_armatureData: ArmatureData;
Internal
_cacheFrameIndex
_cacheFrameIndex: number;
Internal
_constraints
readonly _constraints: Constraint[] = [];
Internal
_dragonBones
_dragonBones: DragonBones;
Internal
_globalAlpha
_globalAlpha: number;
Internal
_lockUpdate
_lockUpdate: boolean;
Internal
_parent
_parent: Slot;
Internal
_replaceTextureAtlasData
_replaceTextureAtlasData: TextureAtlasData = null;
Internal
_zIndexDirty
_zIndexDirty: boolean;
Internal
hashCode
readonly hashCode: number;
分配给此实例的唯一标识号。
继承自
inheritAnimation
inheritAnimation: boolean;
stopped
stopped: boolean = false;
是否继承父骨架的动画控制。 如果该值为 true,当父骨架播放动画时,会尝试让子骨架播放同名动画。
默认值
true
实现了
访问器
animation
Getter 签名
get animation(): Animation;
动画播放器。
返回
armatureData
Getter 签名
get armatureData(): ArmatureData;
骨架数据。
返回
cacheFrameRate
Getter 签名
get cacheFrameRate(): number;
动画缓存帧率,当设置的值大于 0 的时,将会开启动画缓存。 通过将动画数据缓存在内存中来提高运行性能,会有一定的内存开销。 帧率不宜设置的过高,通常跟动画的帧率相当且低于程序运行的帧率。 开启动画缓存后,某些功能将会失效,比如骨骼的 offset 属性等。
示例
armature.cacheFrameRate = 24;
返回
number
Setter 签名
set cacheFrameRate(value: number): void;
参数
参数 | 类型 |
---|---|
value | number |
返回
void
clock
Getter 签名
get clock(): WorldClock;
当前所属的 WordClock 实例。
示例
armature.clock = factory.clock; // 将骨架添加到时钟。
armature.clock = null; // 将骨架从时钟移除。
返回
Setter 签名
set clock(value: WorldClock): void;
当前所属的 WordClock 实例。
Examples
armature.clock = factory.clock; // Add armature to clock.
armature.clock = null; // Remove armature from clock.
armature.clock = factory.clock; // 将骨架添加到时钟。
armature.clock = null; // 将骨架从时钟移除。
参数
参数 | 类型 |
---|---|
value | WorldClock |
返回
void
当前所属的 WordClock 实例。
示例
armature.clock = factory.clock; // 将骨架添加到时钟。
armature.clock = null; // 将骨架从时钟移除。
实现了
display
Getter 签名
get display(): any;
显示容器实例。 插槽的显示对象都会以此显示容器为父级。 根据渲染引擎的不同,类型会不同,通常是 DisplayObjectContainer 类型。
返回
any
eventDispatcher
Getter 签名
get eventDispatcher(): IEventDispatcher;
该骨架的 EventDispatcher 实例。
返回
flipX
Getter 签名
get flipX(): boolean;
是否将骨架水平翻转。
返回
boolean
Setter 签名
set flipX(value: boolean): void;
参数
参数 | 类型 |
---|---|
value | boolean |
返回
void
flipY
Getter 签名
get flipY(): boolean;
是否将骨架垂直翻转。
返回
boolean
Setter 签名
set flipY(value: boolean): void;
参数
参数 | 类型 |
---|---|
value | boolean |
返回
void
name
Getter 签名
get name(): string;
骨架名称。
返回
string
parent
Getter 签名
get parent(): Slot;
该骨架所属的父插槽。
返回
proxy
Getter 签名
get proxy(): IArmatureProxy;
Pivate
返回
replacedTexture
Setter 签名
set replacedTexture(value: any): void;
参数
参数 | 类型 |
---|---|
value | any |
返回
void
方法
_addBone()
_addBone(value: Bone): void;
Internal
参数
参数 | 类型 |
---|---|
value | Bone |
返回
void
_addConstraint()
_addConstraint(value: Constraint): void;
Internal
参数
参数 | 类型 |
---|---|
value | Constraint |
返回
void
_addSlot()
_addSlot(value: Slot): void;
Internal
参数
参数 | 类型 |
---|---|
value | Slot |
返回
void
_bufferAction()
_bufferAction(action: EventObject, append: boolean): void;
Internal
参数
参数 | 类型 |
---|---|
action | EventObject |
append | boolean |
返回
void
_sortZOrder()
_sortZOrder(slotIndices: number[] | Int16Array<ArrayBuffer>, offset: number): void;
Internal
参数
参数 | 类型 |
---|---|
slotIndices | number [] | Int16Array <ArrayBuffer > |
offset | number |
返回
void
advanceTime()
advanceTime(passedTime: number): void;
更新时间。
参数
参数 | 类型 | 描述 |
---|---|---|
passedTime | number | 前进的时间。 (以秒为单位) |
返回
void
实现了
containsPoint()
containsPoint(x: number, y: number): Slot;
检查特定点是否在某个插槽的自定义边界框内。 点的坐标系为骨架内坐标系。 自定义边界框需要在 DragonBones Pro 中自定义。
参数
参数 | 类型 | 描述 |
---|---|---|
x | number | 点的水平坐标。 |
y | number | 点的垂直坐标。 |
返回
dispose()
dispose(): void;
释放骨架。 (回收到对象池)
返回
void
示例
removeChild(armature.display);
armature.dispose();
getBone()
getBone(name: string): Bone;
获取特定的骨骼。
参数
参数 | 类型 | 描述 |
---|---|---|
name | string | 骨骼名称。 |
返回
getBoneByDisplay()
getBoneByDisplay(display: any): Bone;
通过显示对象获取特定的骨骼。
参数
参数 | 类型 | 描述 |
---|---|---|
display | any | 显示对象。 |
返回
getBones()
getBones(): Bone[];
获取所有的骨骼。
返回
Bone
[]
getDisplay()
getDisplay(): any;
已废弃,请参考 #display。
返回
any
已被弃用
getSlot()
getSlot(name: string): Slot;
获取特定的插槽。
参数
参数 | 类型 | 描述 |
---|---|---|
name | string | 插槽名称。 |
返回
getSlotByDisplay()
getSlotByDisplay(display: any): Slot;
通过显示对象获取特定的插槽。
参数
参数 | 类型 | 描述 |
---|---|---|
display | any | 显示对象。 |
返回
getSlots()
getSlots(): Slot[];
获取所有的插槽。
返回
Slot
[]
init()
init(
armatureData: ArmatureData,
proxy: IArmatureProxy,
display: any,
dragonBones: DragonBones): void;
Internal
参数
参数 | 类型 |
---|---|
armatureData | ArmatureData |
proxy | IArmatureProxy |
display | any |
dragonBones | DragonBones |
返回
void
intersectsSegment()
intersectsSegment(
xA: number,
yA: number,
xB: number,
yB: number,
intersectionPointA: object,
intersectionPointB: object,
normalRadians: object): Slot;
检查特定线段是否与骨架的某个插槽的自定义边界框相交。 线段和交点的坐标系均为骨架内坐标系。 自定义边界框需要在 DragonBones Pro 中自定义。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
xA | number | undefined | 线段起点的水平坐标。 |
yA | number | undefined | 线段起点的垂直坐标。 |
xB | number | undefined | 线段终点的水平坐标。 |
yB | number | undefined | 线段终点的垂直坐标。 |
intersectionPointA | { x : number ; y : number ; } | null | 线段从起点到终点与边界框相交的第一个交点。 (如果未设置,则不计算交点) |
intersectionPointA.x | number | undefined | - |
intersectionPointA.y | number | undefined | - |
intersectionPointB | { x : number ; y : number ; } | null | 线段从终点到起点与边界框相交的第一个交点。 (如果未设置,则不计算交点) |
intersectionPointB.x | number | undefined | - |
intersectionPointB.y | number | undefined | - |
normalRadians | { x : number ; y : number ; } | null | 交点边界框切线的法线弧度。 [x: 第一个交点切线的法线弧度, y: 第二个交点切线的法线弧度] (如果未设置,则不计算法线) |
normalRadians.x | number | undefined | - |
normalRadians.y | number | undefined | - |
返回
线段从起点到终点相交的第一个自定义边界框的插槽。
invalidUpdate()
invalidUpdate(boneName: string, updateSlot: boolean): void;
强制特定骨骼或其拥有的插槽在下一帧更新变换或显示属性。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
boneName | string | null | 骨骼名称。 (如果未设置,将更新所有骨骼) |
updateSlot | boolean | false | 是否更新骨骼的插槽。 (默认: false) |
返回
void
returnToPool()
returnToPool(): void;
清除该实例的所有数据并将其返还对象池。
返回
void
继承自
borrowObject()
static borrowObject<T>(objectConstructor: () => T): T;
从对象池中获取特定类的实例。
类型参数
类型参数 |
---|
T extends BaseObject |
参数
参数 | 类型 | 描述 |
---|---|---|
objectConstructor | () => T | 特定的类。 |
返回
T
继承自
clearPool()
static clearPool(objectConstructor: typeof BaseObject): void;
清除特定对象池的缓存实例。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
objectConstructor | typeof BaseObject | null | 特定的类。 (不设置则清除所有缓存的实例) |
返回
void
继承自
setMaxCount()
static setMaxCount(objectConstructor: typeof BaseObject, maxCount: number): void;
设置特定对象池的最大缓存数量。
参数
参数 | 类型 | 描述 |
---|---|---|
objectConstructor | typeof BaseObject | 特定的类。 (不设置则设置所有对象池的最大缓存数量) |
maxCount | number | 最大缓存数量。 |
返回
void
继承自
toString()
static toString(): string;
返回
string