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.