Skip to content

API / BaseFactory

类: abstract BaseFactory

定义于: factory/BaseFactory.ts:46

创建骨架的工厂基类。 (通常只需要一个全局工厂实例) 工厂通过解析并添加的 DragonBonesData 实例和 TextureAtlasData 实例来创建骨架。 当数据被解析过之后,已经添加到工厂中,在没有被工厂清理之前,不需要再次解析。

继承于

构造函数

构造函数

ts
new BaseFactory(dataParser: DataParser): BaseFactory;

定义于: factory/BaseFactory.ts:65

创建一个工厂实例。 (通常只需要一个全局工厂实例)

参数

参数类型默认值
dataParserDataParsernull

返回

BaseFactory

访问器

clock

Getter 签名

ts
get clock(): WorldClock;

定义于: factory/BaseFactory.ts:933

由引擎驱动的 WorldClock 实例。

返回

WorldClock

方法

addDragonBonesData()

ts
addDragonBonesData(data: DragonBonesData, name: string): void;

定义于: factory/BaseFactory.ts:462

将 DragonBonesData 实例缓存到工厂中。

参数

参数类型默认值描述
dataDragonBonesDataundefinedDragonBonesData 实例。
namestringnull为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)

返回

void


addTextureAtlasData()

ts
addTextureAtlasData(data: TextureAtlasData, name: string): void;

定义于: factory/BaseFactory.ts:535

将 TextureAtlasData 实例缓存到工厂中。

参数

参数类型默认值描述
dataTextureAtlasDataundefinedTextureAtlasData 实例。
namestringnull为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)

返回

void


buildArmature()

ts
buildArmature(
   armatureName: string, 
   dragonBonesName: string, 
   skinName: string, 
   textureAtlasName: string): Armature;

定义于: factory/BaseFactory.ts:651

通过缓存的 DragonBonesData 实例和 TextureAtlasData 实例创建一个骨架。 注意,创建的骨架不再使用时,需要显式释放 Armature#dispose()。

参数

参数类型默认值描述
armatureNamestringundefined骨架数据名称。
dragonBonesNamestring""DragonBonesData 实例的缓存名称。 (如果未设置,将检索所有的 DragonBonesData 实例,当多个 DragonBonesData 实例中包含同名的骨架数据时,可能无法准确的创建出特定的骨架)
skinNamestring""皮肤名称,可以设置一个其他骨架数据名称来共享其皮肤数据。(如果未设置,则使用默认的皮肤数据)
textureAtlasNamestring""-

返回

Armature

骨架。

示例

ts
    let armature = factory.buildArmature("armatureName", "dragonBonesName");
    armature.clock = factory.clock;

clear()

ts
clear(disposeData: boolean): void;

定义于: factory/BaseFactory.ts:603

清除缓存的所有 DragonBonesData 实例和 TextureAtlasData 实例。

参数

参数类型默认值描述
disposeDatabooleantrue是否释放数据。

返回

void


getArmatureData()

ts
getArmatureData(name: string, dragonBonesName: string): ArmatureData;

定义于: factory/BaseFactory.ts:585

获取特定的骨架数据。

参数

参数类型默认值描述
namestringundefined骨架数据名称。
dragonBonesNamestring""DragonBonesData 实例的缓存名称。

返回

ArmatureData


getDragonBonesData()

ts
getDragonBonesData(name: string): DragonBonesData;

定义于: factory/BaseFactory.ts:442

获取特定的 DragonBonesData 实例。

参数

参数类型描述
namestringDragonBonesData 实例的缓存名称。

返回

DragonBonesData

DragonBonesData 实例


getTextureAtlasData()

ts
getTextureAtlasData(name: string): TextureAtlasData[];

定义于: factory/BaseFactory.ts:515

获取特定的 TextureAtlasData 实例列表。

参数

参数类型描述
namestringTextureAtlasData 实例缓存名称。

返回

TextureAtlasData[]


parseDragonBonesData()

ts
parseDragonBonesData(
   rawData: any, 
   name: string, 
   scale: number): DragonBonesData;

定义于: factory/BaseFactory.ts:347

将原始数据解析为 DragonBonesData 实例,并缓存到工厂中。

参数

参数类型默认值描述
rawDataanyundefined原始数据。
namestringnull为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
scalenumber1.0为所有的骨架指定一个缩放值。 (默认: 1.0)

返回

DragonBonesData

DragonBonesData 实例


parseTextureAtlasData()

ts
parseTextureAtlasData(
   rawData: any, 
   textureAtlas: any, 
   name: string, 
   scale: number): TextureAtlasData;

定义于: factory/BaseFactory.ts:394

将原始贴图集数据和贴图集对象解析为 TextureAtlasData 实例,并缓存到工厂中。

参数

参数类型默认值描述
rawDataanyundefined原始贴图集数据。
textureAtlasanyundefined贴图集对象。
namestringnull为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
scalenumber1.0为贴图集指定一个缩放值。 (默认: 1.0)

返回

TextureAtlasData

TextureAtlasData 实例


removeDragonBonesData()

ts
removeDragonBonesData(name: string, disposeData: boolean): void;

定义于: factory/BaseFactory.ts:492

移除 DragonBonesData 实例。

参数

参数类型默认值描述
namestringundefinedDragonBonesData 实例缓存名称。
disposeDatabooleantrue是否释放数据。 (默认: true)

返回

void


removeTextureAtlasData()

ts
removeTextureAtlasData(name: string, disposeData: boolean): void;

定义于: factory/BaseFactory.ts:559

移除 TextureAtlasData 实例。

参数

参数类型默认值描述
namestringundefinedTextureAtlasData 实例的缓存名称。
disposeDatabooleantrue是否释放数据。

返回

void


replaceAnimation()

ts
replaceAnimation(
   armature: Armature, 
   armatureData: ArmatureData, 
   isOverride: boolean): boolean;

定义于: factory/BaseFactory.ts:868

用特定骨架数据的动画数据替换特定骨架现有的动画数据。 这样就能实现制作一个骨架动画模板,让其他没有制作动画的骨架共享该动画。

参数

参数类型默认值描述
armatureArmatureundefined骨架。
armatureDataArmatureDataundefined骨架数据。
isOverridebooleantrue是否完全覆盖原来的动画。(默认: false)

返回

boolean

示例

ts
    let armatureA = factory.buildArmature("armatureA", "dragonBonesA");
    let armatureDataB = factory.getArmatureData("armatureB", "dragonBonesB");
    if (armatureDataB) {
    factory.replaceAnimation(armatureA, armatureDataB);
    }

replaceSkin()

ts
replaceSkin(
   armature: Armature, 
   skin: SkinData, 
   isOverride: boolean, 
   exclude: string[]): boolean;

定义于: factory/BaseFactory.ts:799

将特定的皮肤数据共享给特定的骨架使用。

参数

参数类型默认值描述
armatureArmatureundefined骨架。
skinSkinDataundefined皮肤数据。
isOverridebooleanfalse是否完全覆盖原来的皮肤。 (默认: false)
excludestring[]null不需要被替换的插槽名称列表。

返回

boolean

示例

ts
    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()

ts
replaceSlotDisplay(
   dragonBonesName: string, 
   armatureName: string, 
   slotName: string, 
   displayName: string, 
   slot: Slot, 
   displayIndex: number): boolean;

定义于: factory/BaseFactory.ts:731

用特定的显示对象数据替换特定插槽当前的显示对象数据。 用 "dragonBonesName/armatureName/slotName/displayName" 指定显示对象数据。

参数

参数类型默认值描述
dragonBonesNamestringundefinedDragonBonesData 实例的缓存名称。
armatureNamestringundefined骨架数据名称。
slotNamestringundefined插槽数据名称。
displayNamestringundefined显示对象数据名称。
slotSlotundefined插槽。
displayIndexnumber-1被替换的显示对象数据的索引。 (如果未设置,则替换当前的显示对象数据)

返回

boolean

示例

ts
    let slot = armature.getSlot("weapon");
    factory.replaceSlotDisplay("dragonBonesName", "armatureName", "slotName", "displayName", slot);

updateTextureAtlases()

ts
updateTextureAtlases(textureAtlases: any[], name: string): void;

定义于: factory/BaseFactory.ts:415

更新贴图集对象。

参数

参数类型描述
textureAtlasesany[]多个贴图集对象。
namestring贴图集名称。

返回

void

Released under the MIT License.