Skip to content

Keyframes 序列帧 ​

支持多图序列帧模式以及精灵图序列帧(JSON格式)
支持离屏Canvas渲染以及Web Worker高性能渲染(默认自动开启,若浏览器不支持,将会自动降级处理)

提示

精灵图推荐使用TexturePacker进行制作,不过它是要收费的
如果你想使用免费的工具制作精灵图,有大佬制作了工具Flint,选择图集打包,图集格式采用PixiJS进行制作
另外需要注意:无论是TexturePacker还是Flint,都不要采用旋转,目前暂时不支持旋转属性;同时精灵图名称使用0、1、2、3...进行命名

安装 ​

sh
npm install @poggi/keyframes
pnpm add @poggi/keyframes
yarn add @poggi/keyframes

普通序列帧 ​

基础用法,直接导入多张序列帧图片

loading

精灵序列帧 ​

支持单张资源或多张资源组合的精灵图

loading

缩放 ​

可以对序列帧设置缩放

loading

播放指定帧 ​

可以对序列帧设置缩放

loading

API ​

Keyframes 类 ​

Attributes ​

属性名说明类型默认值
playing用于控制序列帧的播放状态booleantrue

Methods ​

setOption(option: IKeyFramesOption)

设置渲染时的参数

reset

重置播放

setSource(option: IKeyframesSource)

设置资源

destroy

销毁

render(clock: number)

渲染函数

playFrame(index: number)

播放指定帧

Interfaces ​

IKeyframesSource

属性名说明类型是否必选默认值
source序列帧资源HTMLImageElement[] | ISpriteData[]是-
sprite是否为精灵图数据boolean否-

IKeyFramesConstructorOption extends IKeyframesSource

属性名说明类型是否必选默认值
sprite是否为精灵图数据boolean否-
container容器HTMLCanvasElement是-
width每帧的宽度number是-
height每帧的高度number是-
dpr设备像素比number否devicePixelRatio
useWorker是否使用workerboolean否true

Loader 类 ​

Methods ​

loadImagesData(options: ISourceOption)

加载序列帧图片资源

loadSpriteData(options: ISourceOption)

加载精灵图资源

Interfaces ​

属性名说明类型是否必选默认值
dir图片目录string否-
urls图片URL列表string[]是-
headers额外请求头HeadersInit否-
progress加载中回调函数(progress: number) => void否-
loaded加载完成回调函数(imgs: HTMLImageElement[] | ISpriteData[]) => void是-