UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

1,970 lines 155 kB
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