dragonBones.BaseFactory
包 dragonBones
类 public class BaseFactory
子类 dragonBones.EgretFactory
- 创建骨架的工厂基类。 (通常只需要一个全局工厂实例)工厂通过解析并添加的 DragonBonesData 实例和 TextureAtlasData 实例来创建骨架。当数据被解析过之后,已经添加到工厂中,在没有被工厂清理之前,不需要再次解析。
公共属性
属性 |
---|
clock : dragonBones.WorldClock - 由引擎驱动的 WorldClock 实例 |
公共方法
方法 |
---|
BaseFactory(dataParser:dragonBones.DataParser|null) - 创建一个工厂实例 |
addDragonBonesData(data:dragonBones.DragonBonesData,name:string|null):void - 将 DragonBonesData 实例缓存到工厂中 |
addTextureAtlasData(data:dragonBones.TextureAtlasData,name:string|null):void - 将 TextureAtlasData 实例缓存到工厂中 |
buildArmature(armatureName:string,dragonBonesName:string,skinName:string,textureAtlasName:string):dragonBones.Armature|null - 通过缓存的 DragonBonesData 实例和 TextureAtlasData 实例创建一个骨架 |
clear(disposeData:boolean):void - 清除缓存的所有 DragonBonesData 实例和 TextureAtlasData 实例 |
getArmatureData(name:string,dragonBonesName:string):dragonBones.ArmatureData|null - 获取特定的骨架数据 |
getDragonBonesData(name:string):dragonBones.DragonBonesData|null - 获取特定的 DragonBonesData 实例 |
getTextureAtlasData(name:string):Array<dragonBones.TextureAtlasData>|null - 获取特定的 TextureAtlasData 实例列表 |
parseDragonBonesData(rawData:any,name:string|null,scale:number):dragonBones.DragonBonesData|null - 将原始数据解析为 DragonBonesData 实例,并缓存到工厂中 |
parseTextureAtlasData(rawData:any,textureAtlas:any,name:string|null,scale:number):dragonBones.TextureAtlasData - 将原始贴图集数据和贴图集对象解析为 TextureAtlasData 实例,并缓存到工厂中 |
removeDragonBonesData(name:string,disposeData:boolean):void - 移除 DragonBonesData 实例 |
removeTextureAtlasData(name:string,disposeData:boolean):void - 移除 TextureAtlasData 实例 |
replaceAnimation(armature:dragonBones.Armature,armatureData:dragonBones.ArmatureData,isOverride:boolean):boolean - 用特定骨架数据的动画数据替换特定骨架现有的动画数据 |
replaceSkin(armature:dragonBones.Armature,skin:dragonBones.SkinData,isOverride:boolean,exclude:Array<string>|null):boolean - 将特定的皮肤数据共享给特定的骨架使用 |
replaceSlotDisplay(dragonBonesName:string,armatureName:string,slotName:string,displayName:string,slot:dragonBones.Slot,displayIndex:number):boolean - 用特定的显示对象数据替换特定插槽当前的显示对象数据 |
updateTextureAtlases(textureAtlases:Array<any>,name:string):void - 更新贴图集对象 |
属性详细信息
clock
clock : dragonBones.WorldClock
支持版本:DragonBones 5.7
运行平台:Web,Native
由引擎驱动的 WorldClock 实例。
方法详细信息
BaseFactory()
public BaseFactory(dataParser:dragonBones.DataParser|null)
创建一个工厂实例。 (通常只需要一个全局工厂实例)
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
- dataParser:dragonBones.DataParser|null
addDragonBonesData()
public addDragonBonesData(data:dragonBones.DragonBonesData,name:string|null):void
将 DragonBonesData 实例缓存到工厂中。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
- data:dragonBones.DragonBonesData - - DragonBonesData 实例。
- name:string|null - - 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
addTextureAtlasData()
public addTextureAtlasData(data:dragonBones.TextureAtlasData,name:string|null):void
将 TextureAtlasData 实例缓存到工厂中。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
- data:dragonBones.TextureAtlasData - - TextureAtlasData 实例。
- name:string|null - - 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
buildArmature()
public buildArmature(armatureName:string,dragonBonesName:string,skinName:string,textureAtlasName:string):dragonBones.Armature|null
通过缓存的 DragonBonesData 实例和 TextureAtlasData 实例创建一个骨架。注意,创建的骨架不再使用时,需要显式释放 {@link #dragonBones.Armature#dispose()}。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
返回:骨架。
//Example:
let armature = factory.buildArmature("armatureName", "dragonBonesName");
armature.clock = factory.clock;
clear()
public clear(disposeData:boolean):void
清除缓存的所有 DragonBonesData 实例和 TextureAtlasData 实例。
支持版本:DragonBones 4.5
运行平台:Web,Native
参数
- disposeData:boolean - - 是否释放数据。
getArmatureData()
public getArmatureData(name:string,dragonBonesName:string):dragonBones.ArmatureData|null
获取特定的骨架数据。
支持版本:DragonBones 5.1
运行平台:Web,Native
参数
getDragonBonesData()
public getDragonBonesData(name:string):dragonBones.DragonBonesData|null
获取特定的 DragonBonesData 实例。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
- name:string - - DragonBonesData 实例的缓存名称。
返回:DragonBonesData 实例
getTextureAtlasData()
public getTextureAtlasData(name:string):Array<dragonBones.TextureAtlasData>|null
获取特定的 TextureAtlasData 实例列表。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
- name:string - - TextureAtlasData 实例缓存名称。
parseDragonBonesData()
public parseDragonBonesData(rawData:any,name:string|null,scale:number):dragonBones.DragonBonesData|null
将原始数据解析为 DragonBonesData 实例,并缓存到工厂中。
支持版本:DragonBones 4.5
运行平台:Web,Native
参数
返回:DragonBonesData 实例
parseTextureAtlasData()
public parseTextureAtlasData(rawData:any,textureAtlas:any,name:string|null,scale:number):dragonBones.TextureAtlasData
将原始贴图集数据和贴图集对象解析为 TextureAtlasData 实例,并缓存到工厂中。
支持版本:DragonBones 4.5
运行平台:Web,Native
参数
返回:TextureAtlasData 实例
removeDragonBonesData()
public removeDragonBonesData(name:string,disposeData:boolean):void
移除 DragonBonesData 实例。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
removeTextureAtlasData()
public removeTextureAtlasData(name:string,disposeData:boolean):void
移除 TextureAtlasData 实例。
支持版本:DragonBones 3.0
运行平台:Web,Native
参数
replaceAnimation()
public replaceAnimation(armature:dragonBones.Armature,armatureData:dragonBones.ArmatureData,isOverride:boolean):boolean
用特定骨架数据的动画数据替换特定骨架现有的动画数据。这样就能实现制作一个骨架动画模板,让其他没有制作动画的骨架共享该动画。
支持版本:DragonBones 5.6
运行平台:Web,Native
参数
- armature:dragonBones.Armature - - 骨架。
- armatureData:dragonBones.ArmatureData - - 骨架数据。
- isOverride:boolean - - 是否完全覆盖原来的动画。(默认: false)
//Example:
let armatureA = factory.buildArmature("armatureA", "dragonBonesA");
let armatureDataB = factory.getArmatureData("armatureB", "dragonBonesB");
if (armatureDataB) {
factory.replaceAnimation(armatureA, armatureDataB);
}
replaceSkin()
public replaceSkin(armature:dragonBones.Armature,skin:dragonBones.SkinData,isOverride:boolean,exclude:Array<string>|null):boolean
将特定的皮肤数据共享给特定的骨架使用。
支持版本:DragonBones 5.6
运行平台:Web,Native
参数
- armature:dragonBones.Armature - - 骨架。
- skin:dragonBones.SkinData - - 皮肤数据。
- isOverride:boolean - - 是否完全覆盖原来的皮肤。 (默认: false)
- exclude:Array<string>|null - - 不需要被替换的插槽名称列表。
//Example:
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()
public replaceSlotDisplay(dragonBonesName:string,armatureName:string,slotName:string,displayName:string,slot:dragonBones.Slot,displayIndex:number):boolean
用特定的显示对象数据替换特定插槽当前的显示对象数据。用 "dragonBonesName/armatureName/slotName/displayName" 指定显示对象数据。
支持版本:DragonBones 4.5
运行平台:Web,Native
参数
//Example:
let slot = armature.getSlot("weapon");
factory.replaceSlotDisplay("dragonBonesName", "armatureName", "slotName", "displayName", slot);
updateTextureAtlases()
public updateTextureAtlases(textureAtlases:Array<any>,name:string):void