Skip to content

API / PixiFactory

类: PixiFactory

定义于: pixi/PixiFactory.ts:43

PixiJS 工厂。

继承

构造函数

构造函数

ts
new PixiFactory(dataParser: DataParser, useSharedTicker: boolean): PixiFactory;

定义于: pixi/PixiFactory.ts:96

参数

参数类型默认值
dataParserDataParsernull
useSharedTickerbooleantrue

返回

PixiFactory

继承文档

重写了

BaseFactory.constructor

属性

useSharedTicker

ts
static useSharedTicker: boolean = true;

定义于: pixi/PixiFactory.ts:63

whether use PIXI.Ticker.shared

访问器

clock

Getter 签名

ts
get clock(): WorldClock;

定义于: factory/BaseFactory.ts:933

由引擎驱动的 WorldClock 实例。

返回

WorldClock

继承自

BaseFactory.clock


soundEventManager

Getter 签名

ts
get soundEventManager(): PixiArmatureDisplay;

定义于: pixi/PixiFactory.ts:213

全局声音事件管理器。 声音事件可以从该管理器统一侦听。

返回

PixiArmatureDisplay


factory

Getter 签名

ts
get static factory(): PixiFactory;

定义于: pixi/PixiFactory.ts:72

一个可以直接使用的全局工厂实例。

返回

PixiFactory

方法

addDragonBonesData()

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

定义于: factory/BaseFactory.ts:462

将 DragonBonesData 实例缓存到工厂中。

参数

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

返回

void

继承自

BaseFactory.addDragonBonesData


addTextureAtlasData()

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

定义于: factory/BaseFactory.ts:535

将 TextureAtlasData 实例缓存到工厂中。

参数

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

返回

void

继承自

BaseFactory.addTextureAtlasData


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;

继承自

BaseFactory.buildArmature


buildArmatureDisplay()

ts
buildArmatureDisplay(
   armatureName: string, 
   dragonBonesName: string, 
   skinName: string, 
   textureAtlasName: string): PixiArmatureDisplay;

定义于: pixi/PixiFactory.ts:171

通过缓存的 DragonBonesData 实例和 TextureAtlasData 实例创建一个骨架,并用 #clock 更新该骨架。 区别在于由 #buildArmature 创建的骨架没有 WorldClock 实例驱动。

参数

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

返回

PixiArmatureDisplay

骨架的显示容器。

示例

ts
    let armatureDisplay = factory.buildArmatureDisplay("armatureName", "dragonBonesName");

clear()

ts
clear(disposeData: boolean): void;

定义于: factory/BaseFactory.ts:603

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

参数

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

返回

void

继承自

BaseFactory.clear


getArmatureData()

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

定义于: factory/BaseFactory.ts:585

获取特定的骨架数据。

参数

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

返回

ArmatureData

继承自

BaseFactory.getArmatureData


getDragonBonesData()

ts
getDragonBonesData(name: string): DragonBonesData;

定义于: factory/BaseFactory.ts:442

获取特定的 DragonBonesData 实例。

参数

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

返回

DragonBonesData

DragonBonesData 实例

继承自

BaseFactory.getDragonBonesData


getTextureAtlasData()

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

定义于: factory/BaseFactory.ts:515

获取特定的 TextureAtlasData 实例列表。

参数

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

返回

TextureAtlasData[]

继承自

BaseFactory.getTextureAtlasData


getTextureDisplay()

ts
getTextureDisplay(textureName: string, textureAtlasName: string): Sprite;

定义于: pixi/PixiFactory.ts:195

创建带有指定贴图的显示对象。

参数

参数类型默认值描述
textureNamestringundefined贴图数据名称。
textureAtlasNamestringnull贴图集数据名称。 (如果未设置,将检索所有的贴图集数据)

返回

Sprite


parseDragonBonesData()

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

定义于: pixi/PixiFactory.ts:240

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

参数

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

返回

DragonBonesData

DragonBonesData 实例

重写了

BaseFactory.parseDragonBonesData


parseTextureAtlasData()

ts
parseTextureAtlasData(
   rawData: string | Object, 
   textureAtlas?: string | Texture<TextureSource<any>>, 
   name?: string, 
   scale?: number): TextureAtlasData;

定义于: pixi/PixiFactory.ts:283

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

参数

参数类型默认值描述
rawDatastring | Objectundefined原始贴图集数据。 如果传入string,则从缓存中按别名查找
textureAtlas?string | Texture<TextureSource<any>>undefined贴图集对象。 如果未设置,则从JSON中获取; 如果传入string,则从缓存中按别名查找
name?stringnull为该实例指定一个缓存名称,以便可以通过此名称获取该实例。 (如果未设置,则使用该实例中的名称)
scale?number1.0为贴图集指定一个缩放值。 (默认: 1.0)

返回

TextureAtlasData

TextureAtlasData 实例

示例

ts
const factory = PixiFactory.factory;
factory.parseTextureAtlasData("preload/starter_tex.json");

重写了

BaseFactory.parseTextureAtlasData


removeDragonBonesData()

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

定义于: factory/BaseFactory.ts:492

移除 DragonBonesData 实例。

参数

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

返回

void

继承自

BaseFactory.removeDragonBonesData


removeTextureAtlasData()

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

定义于: factory/BaseFactory.ts:559

移除 TextureAtlasData 实例。

参数

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

返回

void

继承自

BaseFactory.removeTextureAtlasData


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);
    }

继承自

BaseFactory.replaceAnimation


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"]);
    }

继承自

BaseFactory.replaceSkin


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);

继承自

BaseFactory.replaceSlotDisplay


updateTextureAtlases()

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

定义于: factory/BaseFactory.ts:415

更新贴图集对象。

参数

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

返回

void

继承自

BaseFactory.updateTextureAtlases


advanceTime()

ts
static advanceTime(passedTime: number): void;

定义于: pixi/PixiFactory.ts:54

passedTime is elapsed time, specified in seconds.

参数

参数类型
passedTimenumber

返回

void


newInstance()

ts
static newInstance(useSharedTicker: boolean): PixiFactory;

定义于: pixi/PixiFactory.ts:85

  • 一个获取全局工厂实例(单例)的方法, 和get factory相比, 优点是可以传参数。

参数

参数类型默认值
useSharedTickerbooleantrue

返回

PixiFactory

Released under the MIT License.