6.2.1-beta.9 • Published 2 years ago

@tbminiapp/pixi-apng-textures v6.2.1-beta.9

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@tbminiapp/pixi-apng-textures

This packages contains the loaders for apng file formats

Installation

npm install @tbminiapp/pixi-apng-textures

Usage

import { APNGLoader } from '@tbminiapp/pixi-apng-textures';
import { Loader } from '@tbminiapp/pixi-loaders';

PIXI.Loader.registerPlugin(APNGLoader);
const loader = new PIXI.Loader();
// apng文件的扩展名必须为.apng loader会根据扩展名去判断使用哪种解析器进行文件解析
// apng解析器会根据文件的arraybuffer头部签名来判断是否为apng文件,如果非apng文件 使用了.apng扩展名,则resource为null
const textureKey = 'flowerball';
loader.add(textureKey, 'https://img.alicdn.com/imgextra/i2/O1CN01r3wWKG1wfwDE15AKb_!!6000000006336-54-tps-270-270.apng')
loader.load((_loader, resource) => {
    const explosionTextures = [];
    // frameDelay: 帧间隔时间 ms
    // frameTextureKeys: apng分帧后 每一帧在TextureCache中的 cacheId,
    // frameCount: apng 总帧数,
    const { frameDelay, frameTextureKeys, frameCount } = resource[textureKey];
    frameTextureKeys.forEach((item, index) => {
        explosionTextures.push(PIXI.Texture.from(item));
    })
    const animatedSprite = new PIXI.AnimatedSprite(explosionTextures);
    animatedSprite.animationSpeed = 0.5;
    animatedSprite.play();
    animatedSprite.anchor.set(0.5);
    animatedSprite.position.set(application.screen.width / 2, application.screen.height / 2)
    application.stage.addChild(animatedSprite);
});
6.2.1-beta.8

2 years ago

6.2.1-beta.9

2 years ago

6.2.1-beta.6

2 years ago

6.2.1-beta.7

2 years ago

6.2.1-beta.2

2 years ago

6.2.1-beta.3

2 years ago

6.2.1-beta.4

2 years ago

6.2.1-beta.5

2 years ago

6.2.1-beta.1

2 years ago