pixi-dragonbones-runtime
Version:
DragonBones Runtime for Pixi.js
163 lines (162 loc) • 4.87 kB
TypeScript
/**
* The MIT License (MIT)
*
* Copyright (c) 2012-2018 DragonBones team and other contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import { OffsetMode } from "../core/index.js";
import { Transform } from "../geom/index.js";
import { BoneData } from "../model/index.js";
import { Armature } from "./Armature.js";
import { TransformObject } from "./TransformObject.js";
/**
* [en] Bone is one of the most important logical units in the armature animation system,
* and is responsible for the realization of translate, rotation, scaling in the animations.
* A armature can contain multiple bones.
*
* [zh] 骨骼在骨骼动画体系中是最重要的逻辑单元之一,负责动画中的平移、旋转、缩放的实现。
* 一个骨架中可以包含多个骨骼。
*
* @see BoneData
* @see Armature
* @see Slot
* @version DragonBones 3.0
*/
export declare class Bone extends TransformObject {
static toString(): string;
/**
* [en] The offset mode.
*
* [zh] 偏移模式。
*
* @see #offset
* @version DragonBones 5.5
*/
offsetMode: OffsetMode;
/**
* @internal
*/
readonly animationPose: Transform;
/**
* @internal
*/
_transformDirty: boolean;
/**
* @internal
*/
_childrenTransformDirty: boolean;
protected _localDirty: boolean;
/**
* @internal
*/
_hasConstraint: boolean;
protected _visible: boolean;
protected _cachedFrameIndex: number;
/**
* @internal
*/
_boneData: BoneData;
/**
* @private
*/
protected _parent: Bone | null;
/**
* @internal
*/
_cachedFrameIndices: Array<number> | null;
protected _onClear(): void;
protected _updateGlobalTransformMatrix(isCache: boolean): void;
/**
* @internal
*/
_updateAlpha(): void;
/**
* @internal
*/
init(boneData: BoneData, armatureValue: Armature): void;
/**
* @internal
*/
update(cacheFrameIndex: number): void;
/**
* @internal
*/
updateByConstraint(): void;
/**
* [en] Forces the bone to update the transform in the next frame.
* When the bone is not animated or its animation state is finished, the bone will not continue to update,
* and when the skeleton must be updated for some reason, the method needs to be called explicitly.
*
* [zh] 强制骨骼在下一帧更新变换。
* 当该骨骼没有动画状态或其动画状态播放完成时,骨骼将不在继续更新,而此时由于某些原因必须更新骨骼时,则需要显式调用该方法。
*
* @example
* ```ts
* let bone = armature.getBone("arm");
* bone.offset.scaleX = 2.0;
* bone.invalidUpdate();
* ```
* @version DragonBones 3.0
*/
invalidUpdate(): void;
/**
* [en] Check whether the bone contains a specific bone.
*
* [zh] 检查该骨骼是否包含特定的骨骼。
*
* @see Bone
* @version DragonBones 3.0
*/
contains(value: Bone): boolean;
/**
* [en] The bone data.
*
* [zh] 骨骼数据。
*
* @version DragonBones 4.5
*/
get boneData(): BoneData;
/**
* [en] The visible of all slots in the bone.
*
* [zh] 此骨骼所有插槽的可见。
*
* @default true
* @see Slot#visible
* @version DragonBones 3.0
*/
get visible(): boolean;
set visible(value: boolean);
/**
* [en] The bone name.
*
* [zh] 骨骼名称。
*
* @version DragonBones 3.0
*/
get name(): string;
/**
* [en] The parent bone to which it belongs.
*
* [zh] 所属的父骨骼。
*
* @version DragonBones 3.0
*/
get parent(): Bone | null;
}