API / BaseFactory
类: abstract
BaseFactory
定义于: factory/BaseFactory.ts:46
创建骨架的工厂基类。 (通常只需要一个全局工厂实例) 工厂通过解析并添加的 DragonBonesData 实例和 TextureAtlasData 实例来创建骨架。 当数据被解析过之后,已经添加到工厂中,在没有被工厂清理之前,不需要再次解析。
继承于
构造函数
构造函数
new BaseFactory(dataParser: DataParser): BaseFactory;
定义于: factory/BaseFactory.ts:65
创建一个工厂实例。 (通常只需要一个全局工厂实例)
参数
参数 | 类型 | 默认值 |
---|---|---|
dataParser | DataParser | null |
返回
BaseFactory
访问器
clock
Getter 签名
get clock(): WorldClock;
定义于: factory/BaseFactory.ts:933
由引擎驱动的 WorldClock 实例。
返回
方法
addDragonBonesData()
addDragonBonesData(data: DragonBonesData, name: string): void;
定义于: factory/BaseFactory.ts:462
将 DragonBonesData 实例缓存到工厂中。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
data | DragonBonesData | undefined | DragonBonesData 实例。 |
name | string | null | 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称) |
返回
void
addTextureAtlasData()
addTextureAtlasData(data: TextureAtlasData, name: string): void;
定义于: factory/BaseFactory.ts:535
将 TextureAtlasData 实例缓存到工厂中。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
data | TextureAtlasData | undefined | TextureAtlasData 实例。 |
name | string | null | 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称) |
返回
void
buildArmature()
buildArmature(
armatureName: string,
dragonBonesName: string,
skinName: string,
textureAtlasName: string): Armature;
定义于: factory/BaseFactory.ts:651
通过缓存的 DragonBonesData 实例和 TextureAtlasData 实例创建一个骨架。 注意,创建的骨架不再使用时,需要显式释放 Armature#dispose()。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
armatureName | string | undefined | 骨架数据名称。 |
dragonBonesName | string | "" | DragonBonesData 实例的缓存名称。 (如果未设置,将检索所有的 DragonBonesData 实例,当多个 DragonBonesData 实例中包含同名的骨架数据时,可能无法准确的创建出特定的骨架) |
skinName | string | "" | 皮肤名称,可以设置一个其他骨架数据名称来共享其皮肤数据。(如果未设置,则使用默认的皮肤数据) |
textureAtlasName | string | "" | - |
返回
骨架。
示例
let armature = factory.buildArmature("armatureName", "dragonBonesName");
armature.clock = factory.clock;
clear()
clear(disposeData: boolean): void;
定义于: factory/BaseFactory.ts:603
清除缓存的所有 DragonBonesData 实例和 TextureAtlasData 实例。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
disposeData | boolean | true | 是否释放数据。 |
返回
void
getArmatureData()
getArmatureData(name: string, dragonBonesName: string): ArmatureData;
定义于: factory/BaseFactory.ts:585
获取特定的骨架数据。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | string | undefined | 骨架数据名称。 |
dragonBonesName | string | "" | DragonBonesData 实例的缓存名称。 |
返回
getDragonBonesData()
getDragonBonesData(name: string): DragonBonesData;
定义于: factory/BaseFactory.ts:442
获取特定的 DragonBonesData 实例。
参数
参数 | 类型 | 描述 |
---|---|---|
name | string | DragonBonesData 实例的缓存名称。 |
返回
DragonBonesData 实例
getTextureAtlasData()
getTextureAtlasData(name: string): TextureAtlasData[];
定义于: factory/BaseFactory.ts:515
获取特定的 TextureAtlasData 实例列表。
参数
参数 | 类型 | 描述 |
---|---|---|
name | string | TextureAtlasData 实例缓存名称。 |
返回
parseDragonBonesData()
parseDragonBonesData(
rawData: any,
name: string,
scale: number): DragonBonesData;
定义于: factory/BaseFactory.ts:347
将原始数据解析为 DragonBonesData 实例,并缓存到工厂中。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
rawData | any | undefined | 原始数据。 |
name | string | null | 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称) |
scale | number | 1.0 | 为所有的骨架指定一个缩放值。 (默认: 1.0) |
返回
DragonBonesData 实例
parseTextureAtlasData()
parseTextureAtlasData(
rawData: any,
textureAtlas: any,
name: string,
scale: number): TextureAtlasData;
定义于: factory/BaseFactory.ts:394
将原始贴图集数据和贴图集对象解析为 TextureAtlasData 实例,并缓存到工厂中。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
rawData | any | undefined | 原始贴图集数据。 |
textureAtlas | any | undefined | 贴图集对象。 |
name | string | null | 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称) |
scale | number | 1.0 | 为贴图集指定一个缩放值。 (默认: 1.0) |
返回
TextureAtlasData 实例
removeDragonBonesData()
removeDragonBonesData(name: string, disposeData: boolean): void;
定义于: factory/BaseFactory.ts:492
移除 DragonBonesData 实例。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | string | undefined | DragonBonesData 实例缓存名称。 |
disposeData | boolean | true | 是否释放数据。 (默认: true) |
返回
void
removeTextureAtlasData()
removeTextureAtlasData(name: string, disposeData: boolean): void;
定义于: factory/BaseFactory.ts:559
移除 TextureAtlasData 实例。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | string | undefined | TextureAtlasData 实例的缓存名称。 |
disposeData | boolean | true | 是否释放数据。 |
返回
void
replaceAnimation()
replaceAnimation(
armature: Armature,
armatureData: ArmatureData,
isOverride: boolean): boolean;
定义于: factory/BaseFactory.ts:868
用特定骨架数据的动画数据替换特定骨架现有的动画数据。 这样就能实现制作一个骨架动画模板,让其他没有制作动画的骨架共享该动画。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
armature | Armature | undefined | 骨架。 |
armatureData | ArmatureData | undefined | 骨架数据。 |
isOverride | boolean | true | 是否完全覆盖原来的动画。(默认: false) |
返回
boolean
示例
let armatureA = factory.buildArmature("armatureA", "dragonBonesA");
let armatureDataB = factory.getArmatureData("armatureB", "dragonBonesB");
if (armatureDataB) {
factory.replaceAnimation(armatureA, armatureDataB);
}
replaceSkin()
replaceSkin(
armature: Armature,
skin: SkinData,
isOverride: boolean,
exclude: string[]): boolean;
定义于: factory/BaseFactory.ts:799
将特定的皮肤数据共享给特定的骨架使用。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
armature | Armature | undefined | 骨架。 |
skin | SkinData | undefined | 皮肤数据。 |
isOverride | boolean | false | 是否完全覆盖原来的皮肤。 (默认: false) |
exclude | string [] | null | 不需要被替换的插槽名称列表。 |
返回
boolean
示例
let armatureA = factory.buildArmature("armatureA", "dragonBonesA");
let armatureDataB = factory.getArmatureData("armatureB", "dragonBonesB");
if (armatureDataB && armatureDataB.defaultSkin) {
factory.replaceSkin(armatureA, armatureDataB.defaultSkin, false, ["arm_l", "weapon_l"]);
}
replaceSlotDisplay()
replaceSlotDisplay(
dragonBonesName: string,
armatureName: string,
slotName: string,
displayName: string,
slot: Slot,
displayIndex: number): boolean;
定义于: factory/BaseFactory.ts:731
用特定的显示对象数据替换特定插槽当前的显示对象数据。 用 "dragonBonesName/armatureName/slotName/displayName" 指定显示对象数据。
参数
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
dragonBonesName | string | undefined | DragonBonesData 实例的缓存名称。 |
armatureName | string | undefined | 骨架数据名称。 |
slotName | string | undefined | 插槽数据名称。 |
displayName | string | undefined | 显示对象数据名称。 |
slot | Slot | undefined | 插槽。 |
displayIndex | number | -1 | 被替换的显示对象数据的索引。 (如果未设置,则替换当前的显示对象数据) |
返回
boolean
示例
let slot = armature.getSlot("weapon");
factory.replaceSlotDisplay("dragonBonesName", "armatureName", "slotName", "displayName", slot);
updateTextureAtlases()
updateTextureAtlases(textureAtlases: any[], name: string): void;
定义于: factory/BaseFactory.ts:415
更新贴图集对象。
参数
参数 | 类型 | 描述 |
---|---|---|
textureAtlases | any [] | 多个贴图集对象。 |
name | string | 贴图集名称。 |
返回
void