dragonBones.BaseFactory

   dragonBones

   public class BaseFactory

  • 创建骨架的工厂基类。 (通常只需要一个全局工厂实例)工厂通过解析并添加的 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
  • 参数
    • armatureName:string - - 骨架数据名称。
    • dragonBonesName:string - - DragonBonesData 实例的缓存名称。 (如果未设置,将检索所有的 DragonBonesData 实例,当多个 DragonBonesData 实例中包含同名的骨架数据时,可能无法准确的创建出特定的骨架)
    • skinName:string - - 皮肤名称,可以设置一个其他骨架数据名称来共享其皮肤数据。(如果未设置,则使用默认的皮肤数据)
    • textureAtlasName:string
  • 返回:骨架。
//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
  • 参数
    • name:string - - 骨架数据名称。
    • dragonBonesName:string - - DragonBonesData 实例的缓存名称。

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
  • 参数
    • rawData:any - - 原始数据。
    • name:string|null - - 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
    • scale:number - - 为所有的骨架指定一个缩放值。 (默认: 1.0)
  • 返回:DragonBonesData 实例

parseTextureAtlasData()

public parseTextureAtlasData(rawData:any,textureAtlas:any,name:string|null,scale:number):dragonBones.TextureAtlasData

  • 将原始贴图集数据和贴图集对象解析为 TextureAtlasData 实例,并缓存到工厂中。
  • 支持版本:DragonBones 4.5
  • 运行平台:Web,Native
  • 参数
    • rawData:any - - 原始贴图集数据。
    • textureAtlas:any - - 贴图集对象。
    • name:string|null - - 为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
    • scale:number - - 为贴图集指定一个缩放值。 (默认: 1.0)
  • 返回:TextureAtlasData 实例

removeDragonBonesData()

public removeDragonBonesData(name:string,disposeData:boolean):void

  • 移除 DragonBonesData 实例。
  • 支持版本:DragonBones 3.0
  • 运行平台:Web,Native
  • 参数
    • name:string - - DragonBonesData 实例缓存名称。
    • disposeData:boolean - - 是否释放数据。 (默认: true)

removeTextureAtlasData()

public removeTextureAtlasData(name:string,disposeData:boolean):void

  • 移除 TextureAtlasData 实例。
  • 支持版本:DragonBones 3.0
  • 运行平台:Web,Native
  • 参数
    • name:string - - TextureAtlasData 实例的缓存名称。
    • disposeData:boolean - - 是否释放数据。

replaceAnimation()

public replaceAnimation(armature:dragonBones.Armature,armatureData:dragonBones.ArmatureData,isOverride:boolean):boolean

  • 用特定骨架数据的动画数据替换特定骨架现有的动画数据。这样就能实现制作一个骨架动画模板,让其他没有制作动画的骨架共享该动画。
//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
  • 参数
//Example:
let armatureA = factory.buildArmature("armatureA", "dragonBonesA");
let armatureDataB = factory.getArmatureData("armatureB", "dragonBonesB");
if (armatureDataB &amp;&amp; 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
  • 参数
    • dragonBonesName:string - - DragonBonesData 实例的缓存名称。
    • armatureName:string - - 骨架数据名称。
    • slotName:string - - 插槽数据名称。
    • displayName:string - - 显示对象数据名称。
    • slot:dragonBones.Slot - - 插槽。
    • displayIndex:number - - 被替换的显示对象数据的索引。 (如果未设置,则替换当前的显示对象数据)
//Example:
let slot = armature.getSlot("weapon");
factory.replaceSlotDisplay("dragonBonesName", "armatureName", "slotName", "displayName", slot);

updateTextureAtlases()

public updateTextureAtlases(textureAtlases:Array<any>,name:string):void

  • 更新贴图集对象。
  • 支持版本:DragonBones 5.7
  • 运行平台:Web,Native
  • 参数
    • textureAtlases:Array<any> - - 多个贴图集对象。
    • name:string - - 贴图集名称。