dragonbones-runtime
Version:
the tools to build dragonbones file for diffrent framework
1,970 lines • 155 kB
TypeScript
declare namespace dragonBones {
/**
* @internal
* @private
*/
const webAssemblyModule: {
HEAP16: Int16Array;
_malloc(byteSize: number): number;
_free(pointer: number): void;
setDataBinary(data: DragonBonesData, binaryPointer: number, intBytesLength: number, floatBytesLength: number, frameIntBytesLength: number, frameFloatBytesLength: number, frameBytesLength: number, timelineBytesLength: number): void;
};
}
declare namespace dragonBones {
/**
* @private
*/
const enum BinaryOffset {
WeigthBoneCount = 0,
WeigthFloatOffset = 1,
WeigthBoneIndices = 2,
MeshVertexCount = 0,
MeshTriangleCount = 1,
MeshFloatOffset = 2,
MeshWeightOffset = 3,
MeshVertexIndices = 4,
TimelineScale = 0,
TimelineOffset = 1,
TimelineKeyFrameCount = 2,
TimelineFrameValueCount = 3,
TimelineFrameValueOffset = 4,
TimelineFrameOffset = 5,
FramePosition = 0,
FrameTweenType = 1,
FrameTweenEasingOrCurveSampleCount = 2,
FrameCurveSamples = 3,
FFDTimelineMeshOffset = 0,
FFDTimelineFFDCount = 1,
FFDTimelineValueCount = 2,
FFDTimelineValueOffset = 3,
FFDTimelineFloatOffset = 4,
}
/**
* @private
*/
const enum ArmatureType {
Armature = 0,
MovieClip = 1,
Stage = 2,
}
/**
* @private
*/
const enum DisplayType {
Image = 0,
Armature = 1,
Mesh = 2,
BoundingBox = 3,
}
/**
* 包围盒类型。
* @version DragonBones 5.0
* @language zh_CN
*/
const enum BoundingBoxType {
Rectangle = 0,
Ellipse = 1,
Polygon = 2,
}
/**
* @private
*/
const enum ActionType {
Play = 0,
Frame = 10,
Sound = 11,
}
/**
* @private
*/
const enum BlendMode {
Normal = 0,
Add = 1,
Alpha = 2,
Darken = 3,
Difference = 4,
Erase = 5,
HardLight = 6,
Invert = 7,
Layer = 8,
Lighten = 9,
Multiply = 10,
Overlay = 11,
Screen = 12,
Subtract = 13,
}
/**
* @private
*/
const enum TweenType {
None = 0,
Line = 1,
Curve = 2,
QuadIn = 3,
QuadOut = 4,
QuadInOut = 5,
}
/**
* @private
*/
const enum TimelineType {
Action = 0,
ZOrder = 1,
BoneAll = 10,
BoneTranslate = 11,
BoneRotate = 12,
BoneScale = 13,
SlotDisplay = 20,
SlotColor = 21,
SlotFFD = 22,
AnimationTime = 40,
AnimationWeight = 41,
}
/**
* @private
*/
const enum OffsetMode {
None = 0,
Additive = 1,
Override = 2,
}
/**
* 动画混合的淡出方式。
* @version DragonBones 4.5
* @language zh_CN
*/
const enum AnimationFadeOutMode {
/**
* 不淡出动画。
* @version DragonBones 4.5
* @language zh_CN
*/
None = 0,
/**
* 淡出同层的动画。
* @version DragonBones 4.5
* @language zh_CN
*/
SameLayer = 1,
/**
* 淡出同组的动画。
* @version DragonBones 4.5
* @language zh_CN
*/
SameGroup = 2,
/**
* 淡出同层并且同组的动画。
* @version DragonBones 4.5
* @language zh_CN
*/
SameLayerAndGroup = 3,
/**
* 淡出所有动画。
* @version DragonBones 4.5
* @language zh_CN
*/
All = 4,
/**
* 不替换同名动画。
* @version DragonBones 5.1
* @language zh_CN
*/
Single = 5,
}
/**
* @private
*/
interface Map<T> {
[key: string]: T;
}
/**
* @private
*/
class DragonBones {
static yDown: boolean;
static debug: boolean;
static debugDraw: boolean;
static webAssembly: boolean;
static readonly VERSION: string;
private readonly _clock;
private readonly _events;
private readonly _objects;
private _eventManager;
constructor(eventManager: IEventDispatcher);
advanceTime(passedTime: number): void;
bufferEvent(value: EventObject): void;
bufferObject(object: BaseObject): void;
readonly clock: WorldClock;
readonly eventManager: IEventDispatcher;
}
}
declare namespace dragonBones {
/**
* 基础对象。
* @version DragonBones 4.5
* @language zh_CN
*/
abstract class BaseObject {
private static _hashCode;
private static _defaultMaxCount;
private static readonly _maxCountMap;
private static readonly _poolsMap;
private static _returnObject(object);
/**
* @private
*/
static toString(): string;
/**
* 设置每种对象池的最大缓存数量。
* @param objectConstructor 对象类。
* @param maxCount 最大缓存数量。 (设置为 0 则不缓存)
* @version DragonBones 4.5
* @language zh_CN
*/
static setMaxCount(objectConstructor: (typeof BaseObject) | null, maxCount: number): void;
/**
* 清除对象池缓存的对象。
* @param objectConstructor 对象类。 (不设置则清除所有缓存)
* @version DragonBones 4.5
* @language zh_CN
*/
static clearPool(objectConstructor?: (typeof BaseObject) | null): void;
/**
* 从对象池中创建指定对象。
* @param objectConstructor 对象类。
* @version DragonBones 4.5
* @language zh_CN
*/
static borrowObject<T extends BaseObject>(objectConstructor: {
new (): T;
}): T;
/**
* 对象的唯一标识。
* @version DragonBones 4.5
* @language zh_CN
*/
readonly hashCode: number;
private _isInPool;
/**
* @private
*/
protected abstract _onClear(): void;
/**
* 清除数据并返还对象池。
* @version DragonBones 4.5
* @language zh_CN
*/
returnToPool(): void;
}
}
declare namespace dragonBones {
/**
* 2D 矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
class Matrix {
a: number;
b: number;
c: number;
d: number;
tx: number;
ty: number;
constructor(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number);
/**
* @private
*/
toString(): string;
/**
* @private
*/
copyFrom(value: Matrix): Matrix;
/**
* @private
*/
copyFromArray(value: Array<number>, offset?: number): Matrix;
/**
* 转换为单位矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
identity(): Matrix;
/**
* 将当前矩阵与另一个矩阵相乘。
* @param value 需要相乘的矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
concat(value: Matrix): Matrix;
/**
* 转换为逆矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
invert(): Matrix;
/**
* 将矩阵转换应用于指定点。
* @param x 横坐标。
* @param y 纵坐标。
* @param result 应用转换之后的坐标。
* @params delta 是否忽略 tx,ty 对坐标的转换。
* @version DragonBones 3.0
* @language zh_CN
*/
transformPoint(x: number, y: number, result: {
x: number;
y: number;
}, delta?: boolean): void;
/**
* @private
*/
transformRectangle(rectangle: {
x: number;
y: number;
width: number;
height: number;
}, delta?: boolean): void;
}
}
declare namespace dragonBones {
/**
* 2D 变换。
* @version DragonBones 3.0
* @language zh_CN
*/
class Transform {
/**
* 水平位移。
* @version DragonBones 3.0
* @language zh_CN
*/
x: number;
/**
* 垂直位移。
* @version DragonBones 3.0
* @language zh_CN
*/
y: number;
/**
* 倾斜。 (以弧度为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
skew: number;
/**
* 旋转。 (以弧度为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
rotation: number;
/**
* 水平缩放。
* @version DragonBones 3.0
* @language zh_CN
*/
scaleX: number;
/**
* 垂直缩放。
* @version DragonBones 3.0
* @language zh_CN
*/
scaleY: number;
/**
* @private
*/
static readonly PI_D: number;
/**
* @private
*/
static readonly PI_H: number;
/**
* @private
*/
static readonly PI_Q: number;
/**
* @private
*/
static readonly RAD_DEG: number;
/**
* @private
*/
static readonly DEG_RAD: number;
/**
* @private
*/
static normalizeRadian(value: number): number;
constructor(
/**
* 水平位移。
* @version DragonBones 3.0
* @language zh_CN
*/
x?: number,
/**
* 垂直位移。
* @version DragonBones 3.0
* @language zh_CN
*/
y?: number,
/**
* 倾斜。 (以弧度为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
skew?: number,
/**
* 旋转。 (以弧度为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
rotation?: number,
/**
* 水平缩放。
* @version DragonBones 3.0
* @language zh_CN
*/
scaleX?: number,
/**
* 垂直缩放。
* @version DragonBones 3.0
* @language zh_CN
*/
scaleY?: number);
/**
* @private
*/
toString(): string;
/**
* @private
*/
copyFrom(value: Transform): Transform;
/**
* @private
*/
identity(): Transform;
/**
* @private
*/
add(value: Transform): Transform;
/**
* @private
*/
minus(value: Transform): Transform;
/**
* 矩阵转换为变换。
* @param matrix 矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
fromMatrix(matrix: Matrix): Transform;
/**
* 转换为矩阵。
* @param matrix 矩阵。
* @version DragonBones 3.0
* @language zh_CN
*/
toMatrix(matrix: Matrix): Transform;
}
}
declare namespace dragonBones {
/**
* @private
*/
class ColorTransform {
alphaMultiplier: number;
redMultiplier: number;
greenMultiplier: number;
blueMultiplier: number;
alphaOffset: number;
redOffset: number;
greenOffset: number;
blueOffset: number;
constructor(alphaMultiplier?: number, redMultiplier?: number, greenMultiplier?: number, blueMultiplier?: number, alphaOffset?: number, redOffset?: number, greenOffset?: number, blueOffset?: number);
copyFrom(value: ColorTransform): void;
identity(): void;
}
}
declare namespace dragonBones {
class Point {
x: number;
y: number;
constructor(x?: number, y?: number);
copyFrom(value: Point): void;
clear(): void;
}
}
declare namespace dragonBones {
class Rectangle {
x: number;
y: number;
width: number;
height: number;
constructor(x?: number, y?: number, width?: number, height?: number);
copyFrom(value: Rectangle): void;
clear(): void;
}
}
declare namespace dragonBones {
/**
* 自定义数据。
* @version DragonBones 5.0
* @language zh_CN
*/
class UserData extends BaseObject {
/**
* @private
*/
static toString(): string;
/**
* 自定义整数。
* @version DragonBones 5.0
* @language zh_CN
*/
readonly ints: Array<number>;
/**
* 自定义浮点数。
* @version DragonBones 5.0
* @language zh_CN
*/
readonly floats: Array<number>;
/**
* 自定义字符串。
* @version DragonBones 5.0
* @language zh_CN
*/
readonly strings: Array<string>;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
addInt(value: number): void;
/**
* @private
*/
addFloat(value: number): void;
/**
* @private
*/
addString(value: string): void;
/**
* 获取自定义整数。
* @version DragonBones 5.0
* @language zh_CN
*/
getInt(index?: number): number;
/**
* 获取自定义浮点数。
* @version DragonBones 5.0
* @language zh_CN
*/
getFloat(index?: number): number;
/**
* 获取自定义字符串。
* @version DragonBones 5.0
* @language zh_CN
*/
getString(index?: number): string;
}
/**
* @private
*/
class ActionData extends BaseObject {
static toString(): string;
type: ActionType;
name: string;
bone: BoneData | null;
slot: SlotData | null;
data: UserData | null;
protected _onClear(): void;
}
}
declare namespace dragonBones {
/**
* 龙骨数据。
* 一个龙骨数据包含多个骨架数据。
* @see dragonBones.ArmatureData
* @version DragonBones 3.0
* @language zh_CN
*/
class DragonBonesData extends BaseObject {
/**
* @private
*/
static toString(): string;
/**
* 是否开启共享搜索。
* @default false
* @version DragonBones 4.5
* @language zh_CN
*/
autoSearch: boolean;
/**
* 动画帧频。
* @version DragonBones 3.0
* @language zh_CN
*/
frameRate: number;
/**
* 数据版本。
* @version DragonBones 3.0
* @language zh_CN
*/
version: string;
/**
* 数据名称。(该名称与龙骨项目名保持一致)
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
stage: ArmatureData | null;
/**
* @private
*/
readonly frameIndices: Array<number>;
/**
* @private
*/
readonly cachedFrames: Array<number>;
/**
* 所有骨架数据名称。
* @see #armatures
* @version DragonBones 3.0
* @language zh_CN
*/
readonly armatureNames: Array<string>;
/**
* 所有骨架数据。
* @see dragonBones.ArmatureData
* @version DragonBones 3.0
* @language zh_CN
*/
readonly armatures: Map<ArmatureData>;
/**
* @private
*/
binary: ArrayBuffer;
/**
* @private
*/
intArray: Int16Array;
/**
* @private
*/
floatArray: Float32Array;
/**
* @private
*/
frameIntArray: Int16Array;
/**
* @private
*/
frameFloatArray: Float32Array;
/**
* @private
*/
frameArray: Int16Array;
/**
* @private
*/
timelineArray: Uint16Array;
/**
* @private
*/
userData: UserData | null;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
addArmature(value: ArmatureData): void;
/**
* 获取骨架数据。
* @param name 骨架数据名称。
* @see dragonBones.ArmatureData
* @version DragonBones 3.0
* @language zh_CN
*/
getArmature(name: string): ArmatureData | null;
/**
* @deprecated
* 已废弃,请参考 @see
* @see dragonBones.BaseFactory#removeDragonBonesData()
*/
dispose(): void;
}
}
declare namespace dragonBones {
/**
* @private
*/
class CanvasData extends BaseObject {
/**
* @private
*/
static toString(): string;
hasBackground: boolean;
color: number;
x: number;
y: number;
width: number;
height: number;
/**
* @private
*/
protected _onClear(): void;
}
/**
* 骨架数据。
* @version DragonBones 3.0
* @language zh_CN
*/
class ArmatureData extends BaseObject {
/**
* @private
*/
static toString(): string;
/**
* @private
*/
type: ArmatureType;
/**
* 动画帧率。
* @version DragonBones 3.0
* @language zh_CN
*/
frameRate: number;
/**
* @private
*/
cacheFrameRate: number;
/**
* @private
*/
scale: number;
/**
* 数据名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
readonly aabb: Rectangle;
/**
* 所有动画数据名称。
* @see #armatures
* @version DragonBones 3.0
* @language zh_CN
*/
readonly animationNames: Array<string>;
/**
* @private
*/
readonly sortedBones: Array<BoneData>;
/**
* @private
*/
readonly sortedSlots: Array<SlotData>;
/**
* @private
*/
readonly defaultActions: Array<ActionData>;
/**
* @private
*/
readonly actions: Array<ActionData>;
/**
* 所有骨骼数据。
* @see dragonBones.BoneData
* @version DragonBones 3.0
* @language zh_CN
*/
readonly bones: Map<BoneData>;
/**
* 所有插槽数据。
* @see dragonBones.SlotData
* @version DragonBones 3.0
* @language zh_CN
*/
readonly slots: Map<SlotData>;
/**
* 所有皮肤数据。
* @see dragonBones.SkinData
* @version DragonBones 3.0
* @language zh_CN
*/
readonly skins: Map<SkinData>;
/**
* 所有动画数据。
* @see dragonBones.AnimationData
* @version DragonBones 3.0
* @language zh_CN
*/
readonly animations: Map<AnimationData>;
/**
* 获取默认皮肤数据。
* @see dragonBones.SkinData
* @version DragonBones 4.5
* @language zh_CN
*/
defaultSkin: SkinData | null;
/**
* 获取默认动画数据。
* @see dragonBones.AnimationData
* @version DragonBones 4.5
* @language zh_CN
*/
defaultAnimation: AnimationData | null;
/**
* @private
*/
canvas: CanvasData | null;
/**
* @private
*/
userData: UserData | null;
/**
* 所属的龙骨数据。
* @see dragonBones.DragonBonesData
* @version DragonBones 4.5
* @language zh_CN
*/
parent: DragonBonesData;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
sortBones(): void;
/**
* @private
*/
cacheFrames(frameRate: number): void;
/**
* @private
*/
setCacheFrame(globalTransformMatrix: Matrix, transform: Transform): number;
/**
* @private
*/
getCacheFrame(globalTransformMatrix: Matrix, transform: Transform, arrayOffset: number): void;
/**
* @private
*/
addBone(value: BoneData): void;
/**
* @private
*/
addSlot(value: SlotData): void;
/**
* @private
*/
addSkin(value: SkinData): void;
/**
* @private
*/
addAnimation(value: AnimationData): void;
/**
* @private
*/
addAction(value: ActionData, isDefault: boolean): void;
/**
* 获取骨骼数据。
* @param name 数据名称。
* @version DragonBones 3.0
* @see dragonBones.BoneData
* @language zh_CN
*/
getBone(name: string): BoneData | null;
/**
* 获取插槽数据。
* @param name 数据名称。
* @version DragonBones 3.0
* @see dragonBones.SlotData
* @language zh_CN
*/
getSlot(name: string): SlotData | null;
/**
* 获取皮肤数据。
* @param name 数据名称。
* @version DragonBones 3.0
* @see dragonBones.SkinData
* @language zh_CN
*/
getSkin(name: string): SkinData | null;
/**
* 获取动画数据。
* @param name 数据名称。
* @version DragonBones 3.0
* @see dragonBones.AnimationData
* @language zh_CN
*/
getAnimation(name: string): AnimationData | null;
}
/**
* 骨骼数据。
* @version DragonBones 3.0
* @language zh_CN
*/
class BoneData extends BaseObject {
/**
* @private
*/
static toString(): string;
/**
* @private
*/
inheritTranslation: boolean;
/**
* @private
*/
inheritRotation: boolean;
/**
* @private
*/
inheritScale: boolean;
/**
* @private
*/
inheritReflection: boolean;
/**
* @private
*/
length: number;
/**
* 数据名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
readonly transform: Transform;
/**
* @private
*/
readonly constraints: Array<ConstraintData>;
/**
* @private
*/
userData: UserData | null;
/**
* 所属的父骨骼数据。
* @version DragonBones 3.0
* @language zh_CN
*/
parent: BoneData | null;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
addConstraint(value: ConstraintData): void;
}
/**
* 插槽数据。
* @see dragonBones.Slot
* @version DragonBones 3.0
* @language zh_CN
*/
class SlotData extends BaseObject {
/**
* @private
*/
static readonly DEFAULT_COLOR: ColorTransform;
/**
* @private
*/
static createColor(): ColorTransform;
/**
* @private
*/
static toString(): string;
/**
* @private
*/
blendMode: BlendMode;
/**
* @private
*/
displayIndex: number;
/**
* @private
*/
zOrder: number;
/**
* 数据名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
color: ColorTransform;
/**
* @private
*/
userData: UserData | null;
/**
* 所属的父骨骼数据。
* @see dragonBones.BoneData
* @version DragonBones 3.0
* @language zh_CN
*/
parent: BoneData;
/**
* @private
*/
protected _onClear(): void;
}
/**
* 皮肤数据。(通常一个骨架数据至少包含一个皮肤数据)
* @version DragonBones 3.0
* @language zh_CN
*/
class SkinData extends BaseObject {
static toString(): string;
/**
* 数据名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
readonly displays: Map<Array<DisplayData | null>>;
/**
* @private
*/
parent: ArmatureData;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
addDisplay(slotName: string, value: DisplayData | null): void;
/**
* @private
*/
getDisplay(slotName: string, displayName: string): DisplayData | null;
/**
* @private
*/
getDisplays(slotName: string): Array<DisplayData | null> | null;
}
}
declare namespace dragonBones {
/**
* @private
*/
abstract class ConstraintData extends BaseObject {
order: number;
name: string;
target: BoneData;
bone: BoneData;
root: BoneData | null;
protected _onClear(): void;
}
/**
* @private
*/
class IKConstraintData extends ConstraintData {
static toString(): string;
bendPositive: boolean;
scaleEnabled: boolean;
weight: number;
protected _onClear(): void;
}
}
declare namespace dragonBones {
/**
* @private
*/
abstract class DisplayData extends BaseObject {
type: DisplayType;
name: string;
path: string;
readonly transform: Transform;
parent: SkinData;
protected _onClear(): void;
}
/**
* @private
*/
class ImageDisplayData extends DisplayData {
static toString(): string;
readonly pivot: Point;
texture: TextureData | null;
protected _onClear(): void;
}
/**
* @private
*/
class ArmatureDisplayData extends DisplayData {
static toString(): string;
inheritAnimation: boolean;
readonly actions: Array<ActionData>;
armature: ArmatureData | null;
protected _onClear(): void;
/**
* @private
*/
addAction(value: ActionData): void;
}
/**
* @private
*/
class MeshDisplayData extends ImageDisplayData {
static toString(): string;
inheritAnimation: boolean;
offset: number;
weight: WeightData | null;
protected _onClear(): void;
}
/**
* @private
*/
class BoundingBoxDisplayData extends DisplayData {
static toString(): string;
boundingBox: BoundingBoxData | null;
protected _onClear(): void;
}
/**
* @private
*/
class WeightData extends BaseObject {
static toString(): string;
count: number;
offset: number;
readonly bones: Array<BoneData>;
protected _onClear(): void;
addBone(value: BoneData): void;
}
}
declare namespace dragonBones {
/**
* 边界框数据基类。
* @see dragonBones.RectangleData
* @see dragonBones.EllipseData
* @see dragonBones.PolygonData
* @version DragonBones 5.0
* @language zh_CN
*/
abstract class BoundingBoxData extends BaseObject {
/**
* 边界框类型。
* @version DragonBones 5.0
* @language zh_CN
*/
type: BoundingBoxType;
/**
* 边界框颜色。
* @version DragonBones 5.0
* @language zh_CN
*/
color: number;
/**
* 边界框宽。(本地坐标系)
* @version DragonBones 5.0
* @language zh_CN
*/
width: number;
/**
* 边界框高。(本地坐标系)
* @version DragonBones 5.0
* @language zh_CN
*/
height: number;
/**
* @private
*/
protected _onClear(): void;
/**
* 是否包含点。
* @version DragonBones 5.0
* @language zh_CN
*/
abstract containsPoint(pX: number, pY: number): boolean;
/**
* 是否与线段相交。
* @version DragonBones 5.0
* @language zh_CN
*/
abstract intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA: {
x: number;
y: number;
} | null, intersectionPointB: {
x: number;
y: number;
} | null, normalRadians: {
x: number;
y: number;
} | null): number;
}
/**
* 矩形边界框。
* @version DragonBones 5.1
* @language zh_CN
*/
class RectangleBoundingBoxData extends BoundingBoxData {
/**
* @private
*/
static toString(): string;
/**
* Compute the bit code for a point (x, y) using the clip rectangle
*/
private static _computeOutCode(x, y, xMin, yMin, xMax, yMax);
/**
* @private
*/
static rectangleIntersectsSegment(xA: number, yA: number, xB: number, yB: number, xMin: number, yMin: number, xMax: number, yMax: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
/**
* @private
*/
protected _onClear(): void;
/**
* @inherDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inherDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}
/**
* 椭圆边界框。
* @version DragonBones 5.1
* @language zh_CN
*/
class EllipseBoundingBoxData extends BoundingBoxData {
/**
* @private
*/
static toString(): string;
/**
* @private
*/
static ellipseIntersectsSegment(xA: number, yA: number, xB: number, yB: number, xC: number, yC: number, widthH: number, heightH: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
/**
* @private
*/
protected _onClear(): void;
/**
* @inherDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inherDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}
/**
* 多边形边界框。
* @version DragonBones 5.1
* @language zh_CN
*/
class PolygonBoundingBoxData extends BoundingBoxData {
/**
* @private
*/
static toString(): string;
/**
* @private
*/
static polygonIntersectsSegment(xA: number, yA: number, xB: number, yB: number, vertices: Array<number>, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
/**
* @private
*/
x: number;
/**
* @private
*/
y: number;
/**
* 多边形顶点。
* @version DragonBones 5.1
* @language zh_CN
*/
readonly vertices: Array<number>;
/**
* @private
*/
weight: WeightData | null;
/**
* @private
*/
protected _onClear(): void;
/**
* @inherDoc
*/
containsPoint(pX: number, pY: number): boolean;
/**
* @inherDoc
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | null, normalRadians?: {
x: number;
y: number;
} | null): number;
}
}
declare namespace dragonBones {
/**
* 动画数据。
* @version DragonBones 3.0
* @language zh_CN
*/
class AnimationData extends BaseObject {
/**
* @private
*/
static toString(): string;
/**
* @private
*/
frameIntOffset: number;
/**
* @private
*/
frameFloatOffset: number;
/**
* @private
*/
frameOffset: number;
/**
* 持续的帧数。 ([1~N])
* @version DragonBones 3.0
* @language zh_CN
*/
frameCount: number;
/**
* 播放次数。 [0: 无限循环播放, [1~N]: 循环播放 N 次]
* @version DragonBones 3.0
* @language zh_CN
*/
playTimes: number;
/**
* 持续时间。 (以秒为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
duration: number;
/**
* @private
*/
scale: number;
/**
* 淡入时间。 (以秒为单位)
* @version DragonBones 3.0
* @language zh_CN
*/
fadeInTime: number;
/**
* @private
*/
cacheFrameRate: number;
/**
* 数据名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* @private
*/
readonly cachedFrames: Array<boolean>;
/**
* @private
*/
readonly boneTimelines: Map<Array<TimelineData>>;
/**
* @private
*/
readonly slotTimelines: Map<Array<TimelineData>>;
/**
* @private
*/
readonly boneCachedFrameIndices: Map<Array<number>>;
/**
* @private
*/
readonly slotCachedFrameIndices: Map<Array<number>>;
/**
* @private
*/
actionTimeline: TimelineData | null;
/**
* @private
*/
zOrderTimeline: TimelineData | null;
/**
* @private
*/
parent: ArmatureData;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
cacheFrames(frameRate: number): void;
/**
* @private
*/
addBoneTimeline(bone: BoneData, timeline: TimelineData): void;
/**
* @private
*/
addSlotTimeline(slot: SlotData, timeline: TimelineData): void;
/**
* @private
*/
getBoneTimelines(name: string): Array<TimelineData> | null;
/**
* @private
*/
getSlotTimeline(name: string): Array<TimelineData> | null;
/**
* @private
*/
getBoneCachedFrameIndices(name: string): Array<number> | null;
/**
* @private
*/
getSlotCachedFrameIndices(name: string): Array<number> | null;
}
/**
* @private
*/
class TimelineData extends BaseObject {
static toString(): string;
type: TimelineType;
offset: number;
frameIndicesOffset: number;
protected _onClear(): void;
}
}
declare namespace dragonBones {
/**
* 动画配置,描述播放一个动画所需要的全部信息。
* @see dragonBones.AnimationState
* @version DragonBones 5.0
* @beta
* @language zh_CN
*/
class AnimationConfig extends BaseObject {
static toString(): string;
/**
* 是否暂停淡出的动画。
* @default true
* @version DragonBones 5.0
* @language zh_CN
*/
pauseFadeOut: boolean;
/**
* 淡出模式。
* @default dragonBones.AnimationFadeOutMode.All
* @see dragonBones.AnimationFadeOutMode
* @version DragonBones 5.0
* @language zh_CN
*/
fadeOutMode: AnimationFadeOutMode;
/**
* 淡出缓动方式。
* @default TweenType.Line
* @see dragonBones.TweenType
* @version DragonBones 5.0
* @language zh_CN
*/
fadeOutTweenType: TweenType;
/**
* 淡出时间。 [-1: 与淡入时间同步, [0~N]: 淡出时间] (以秒为单位)
* @default -1
* @version DragonBones 5.0
* @language zh_CN
*/
fadeOutTime: number;
/**
* 否能触发行为。
* @default true
* @version DragonBones 5.0
* @language zh_CN
*/
actionEnabled: boolean;
/**
* 是否以增加的方式混合。
* @default false
* @version DragonBones 5.0
* @language zh_CN
*/
additiveBlending: boolean;
/**
* 是否对插槽的显示对象有控制权。
* @default true
* @version DragonBones 5.0
* @language zh_CN
*/
displayControl: boolean;
/**
* 是否暂停淡入的动画,直到淡入过程结束。
* @default true
* @version DragonBones 5.0
* @language zh_CN
*/
pauseFadeIn: boolean;
/**
* 是否将没有动画的对象重置为初始值。
* @default true
* @version DragonBones 5.1
* @language zh_CN
*/
resetToPose: boolean;
/**
* 淡入缓动方式。
* @default TweenType.Line
* @see dragonBones.TweenType
* @version DragonBones 5.0
* @language zh_CN
*/
fadeInTweenType: TweenType;
/**
* 播放次数。 [-1: 使用动画数据默认值, 0: 无限循环播放, [1~N]: 循环播放 N 次]
* @default -1
* @version DragonBones 5.0
* @language zh_CN
*/
playTimes: number;
/**
* 混合图层,图层高会优先获取混合权重。
* @default 0
* @version DragonBones 5.0
* @language zh_CN
*/
layer: number;
/**
* 开始时间。 (以秒为单位)
* @default 0
* @version DragonBones 5.0
* @language zh_CN
*/
position: number;
/**
* 持续时间。 [-1: 使用动画数据默认值, 0: 动画停止, (0~N]: 持续时间] (以秒为单位)
* @default -1
* @version DragonBones 5.0
* @language zh_CN
*/
duration: number;
/**
* 播放速度。 [(-N~0): 倒转播放, 0: 停止播放, (0~1): 慢速播放, 1: 正常播放, (1~N): 快速播放]
* @default 1
* @version DragonBones 3.0
* @language zh_CN
*/
timeScale: number;
/**
* 淡入时间。 [-1: 使用动画数据默认值, [0~N]: 淡入时间] (以秒为单位)
* @default -1
* @version DragonBones 5.0
* @language zh_CN
*/
fadeInTime: number;
/**
* 自动淡出时间。 [-1: 不自动淡出, [0~N]: 淡出时间] (以秒为单位)
* @default -1
* @version DragonBones 5.0
* @language zh_CN
*/
autoFadeOutTime: number;
/**
* 混合权重。
* @default 1
* @version DragonBones 5.0
* @language zh_CN
*/
weight: number;
/**
* 动画状态名。
* @version DragonBones 5.0
* @language zh_CN
*/
name: string;
/**
* 动画数据名。
* @version DragonBones 5.0
* @language zh_CN
*/
animation: string;
/**
* 混合组,用于动画状态编组,方便控制淡出。
* @version DragonBones 5.0
* @language zh_CN
*/
group: string;
/**
* 骨骼遮罩。
* @version DragonBones 5.0
* @language zh_CN
*/
readonly boneMask: Array<string>;
/**
* @private
*/
protected _onClear(): void;
clear(): void;
copyFrom(value: AnimationConfig): void;
containsBoneMask(name: string): boolean;
addBoneMask(armature: Armature, name: string, recursive?: boolean): void;
removeBoneMask(armature: Armature, name: string, recursive?: boolean): void;
}
}
declare namespace dragonBones {
/**
* 贴图集数据。
* @version DragonBones 3.0
* @language zh_CN
*/
abstract class TextureAtlasData extends BaseObject {
/**
* 是否开启共享搜索。
* @default false
* @version DragonBones 4.5
* @language zh_CN
*/
autoSearch: boolean;
/**
* @private
*/
width: number;
/**
* @private
*/
height: number;
/**
* 贴图集缩放系数。
* @version DragonBones 3.0
* @language zh_CN
*/
scale: number;
/**
* 贴图集名称。
* @version DragonBones 3.0
* @language zh_CN
*/
name: string;
/**
* 贴图集图片路径。
* @version DragonBones 3.0
* @language zh_CN
*/
imagePath: string;
/**
* @private
*/
readonly textures: Map<TextureData>;
/**
* @private
*/
protected _onClear(): void;
/**
* @private
*/
copyFrom(value: TextureAtlasData): void;
/**
* @private
*/
abstract createTexture(): TextureData;
/**
* @private
*/
addTexture(value: TextureData): void;
/**
* @private
*/
getTexture(name: string): TextureData | null;
}
/**
* @private
*/
abstract class TextureData extends BaseObject {
static createRectangle(): Rectangle;
rotated: boolean;
name: string;
readonly region: Rectangle;
parent: TextureAtlasData;
frame: Rectangle | null;
protected _onClear(): void;
copyFrom(value: TextureData): void;
}
}
declare namespace dragonBones {
/**
* 骨架代理接口。
* @version DragonBones 5.0
* @language zh_CN
*/
interface IArmatureProxy extends IEventDispatcher {
/**
* @private
*/
dbInit(armature: Armature): void;
/**
* @private
*/
dbClear(): void;
/**
* @private
*/
dbUpdate(): void;
/**
* 释放代理和骨架。 (骨架会回收到对象池)
* @version DragonBones 4.5
* @language zh_CN
*/
dispose(disposeProxy: boolean): void;
/**
* 获取骨架。
* @see dragonBones.Armature
* @version DragonBones 4.5
* @language zh_CN
*/
readonly armature: Armature;
/**
* 获取动画控制器。
* @see dragonBones.Animation
* @version DragonBones 4.5
* @language zh_CN
*/
readonly animation: Animation;
}
}
declare namespace dragonBones {
/**
* 骨架,是骨骼动画系统的核心,由显示容器、骨骼、插槽、动画、事件系统构成。
* @see dragonBones.ArmatureData
* @see dragonBones.Bone
* @see dragonBones.Slot
* @see dragonBones.Animation
* @version DragonBones 3.0
* @language zh_CN
*/
class Armature extends BaseObject implements IAnimatable {
static toString(): string;
private static _onSortSlots(a, b);
/**
* 是否继承父骨架的动画状态。
* @default true
* @version DragonBones 4.5
* @language zh_CN
*/
inheritAnimation: boolean;
/**
* 获取骨架数据。
* @see dragonBones.ArmatureData
* @version DragonBones 4.5
* @readonly
* @language zh_CN
*/
armatureData: ArmatureData;
/**
* 用于存储临时数据。
* @version DragonBones 3.0
* @language zh_CN
*/
userData: any;
private _lockUpdate;
private _bonesDirty;
private _slotsDirty;
private _zOrderDirty;
private _flipX;
private _flipY;
/**
* @internal
* @private
*/
_cacheFrameIndex: number;
private readonly _bones;
private readonly _slots;
private readonly _actions;
private _animation;
private _proxy;
private _display;
/**
* @private
*/
_replaceTextureAtlasData: TextureAtlasData | null;
private _replacedTexture;
/**
* @internal
* @private
*/
_dragonBones: DragonBones;
private _clock;
/**
* @internal
* @private
*/
_parent: Slot | null;
/**
* @private
*/
protected _onClear(): void;
private _sortBones();
private _sortSlots();
/**
* @internal
* @private
*/
_sortZOrder(slotIndices: Array<number> | Int16Array | null, offset: number): void;
/**
* @internal
* @private
*/
_addBoneToBoneList(value: Bone): void;
/**
* @internal
* @private
*/
_removeBoneFromBoneList(value: Bone): void;
/**
* @internal
* @private
*/
_addSlotToSlotList(value: Slot): void;
/**
* @internal
* @private
*/
_removeSlotFromSlotList(value: Slot): void;
/**
* @internal
* @private
*/
_bufferAction(action: ActionData, append: boolean): void;
/**
* 释放骨架。 (回收到对象池)
* @version DragonBones 3.0
* @language zh_CN
*/
dispose(): void;
/**
* @private
*/
init(armatureData: ArmatureData, proxy: IArmatureProxy, display: any, dragonBones: DragonBones): void;
/**
* 更新骨架和动画。
* @param passedTime 两帧之间的时间间隔。 (以秒为单位)
* @see dragonBones.IAnimateble
* @see dragonBones.WorldClock
* @version DragonBones 3.0
* @language zh_CN
*/
advanceTime(passedTime: number): void;
/**
* 更新骨骼和插槽。 (当骨骼没有动画状态或动画状态播放完成时,骨骼将不在更新)
* @param boneName 指定的骨骼名称,如果未设置,将更新所有骨骼。
* @param updateSlotDisplay 是否更新插槽的显示对象。
* @see dragonBones.Bone
* @see dragonBones.Slot
* @version DragonBones 3.0
* @language zh_CN
*/
invalidUpdate(boneName?: string | null, updateSlotDisplay?: boolean): void;
/**
* 判断点是否在所有插槽的自定义包围盒内。
* @param x 点的水平坐标。(骨架内坐标系)
* @param y 点的垂直坐标。(骨架内坐标系)
* @version DragonBones 5.0
* @language zh_CN
*/
containsPoint(x: number, y: number): Slot | null;
/**
* 判断线段是否与骨架的所有插槽的自定义包围盒相交。
* @param xA 线段起点的水平坐标。(骨架内坐标系)
* @param yA 线段起点的垂直坐标。(骨架内坐标系)
* @param xB 线段终点的水平坐标。(骨架内坐标系)
* @param yB 线段终点的垂直坐标。(骨架内坐标系)
* @param intersectionPointA 线段从起点到终点与包围盒相交的第一个交点。(骨架内坐标系)
* @param intersectionPointB 线段从终点到起点与包围盒相交的第一个交点。(骨架内坐标系)
* @param normalRadians 碰撞点处包围盒切线的法线弧度。 [x: 第一个碰撞点处切线的法线弧度, y: 第二个碰撞点处切线的法线弧度]
* @returns 线段从起点到终点相交的第一个自定义包围盒的插槽。
* @version DragonBones 5.0
* @language zh_CN
*/
intersectsSegment(xA: number, yA: number, xB: number, yB: number, intersectionPointA?: {
x: number;
y: number;
} | null, intersectionPointB?: {
x: number;
y: number;
} | n