|
- 我将查看动画组件的代码来生成详细的使用文档。
- Read file: 动画组件.js
- 让我基于代码内容为您编写一个详细的使用文档:
- # 动画组件使用文档
- ## 1. 组件概述
- 动画组件是一个用于播放序列帧动画的PIXI.js组件,支持多方向、多动作的动画播放控制。
- ### 主要特性
- - 支持2/4/5/8方向动画
- - 支持动作(action)、方向(dir)、状态切换
- - 支持播放速度调整和进度控制
- - 支持动态资源加载和内存管理
- - 支持动作级和全局的镜像配置
- - 支持自定义锚点设置
- - 支持偏移(x.txt)文件
- ## 2. 基础使用
- ### 创建实例
- ```javascript
- const anim = new 动画组件();
- ```
- ### 初始化
- ```javascript
- anim.初始化(x, y, {
- 路径: 'assets/role/{action}_{dir}_{frame}.png',
- 动作列表: {
- stand: { 帧数: 6, fps: 6 },
- run: { 帧数: 8, fps: 10 },
- attack: { 帧数: 6, fps: 8 }
- },
- 方向数: 8
- });
- ```
- ### 添加到场景
- ```javascript
- scene.addChild(anim.获取容器());
- ```
- ### 播放动画
- ```javascript
- anim.播放('stand', 2, true); // 动作名, 方向, 是否循环
- ```
- ## 3. 配置参数说明
- ### 全局配置
- ```javascript
- {
- 路径: 'assets/role/{action}_{dir}_{frame}.png', // 必填,支持{action} {dir} {frame}占位符
- 动作列表: Object, // 必填,动作配置对象
- 方向数: 2|4|5|8, // 可选,默认8
- 格式: 'png|jpg|webp', // 可选,默认'png'
- 起始帧: 0, // 可选,默认0
- 锚点像素X: 256, // 可选,默认256
- 锚点像素Y: 256, // 可选,默认256
- mirrorPairs: [[0,4], [1,3]] // 可选,全局镜像配置
- }
- ```
- ### 动作配置
- ```javascript
- {
- 帧数: number, // 必填,动作总帧数
- fps: number, // 可选,默认10
- 方向: number, // 可选,覆盖全局方向数
- 起始帧: number, // 可选,覆盖全局起始帧
- anchor: {x: number, y: number}, // 可选,动作级锚点
- mirrorPairs: [[0,4], [1,3]] // 可选,动作级镜像配置
- }
- ```
- ## 4. API参考
- ### 核心方法
- #### 初始化(x, y, 配置)
- - 参数:
- - x: number - X坐标
- - y: number - Y坐标
- - 配置: Object - 动画配置对象
- - 返回:Promise<void>
- #### 播放(动作名, 方向, 循环)
- - 参数:
- - 动作名: string - 要播放的动作名称
- - 方向: number - 动画方向(0-7)
- - 循环: boolean - 是否循环播放
- - 返回:void
- #### 暂停()
- 暂停当前动画播放
- #### 继续()
- 继续播放当前动画
- #### 停止()
- 停止动画播放并重置到第一帧
- ### 状态控制
- #### 设置速度(speed)
- - 参数:speed: number - 播放速度倍率,1为正常速度
- #### 设置进度(progress)
- - 参数:progress: number - 0到1之间的进度值
- #### 跳转到(frame)
- - 参数:frame: number - 目标帧序号
- ### 事件监听
- #### on(事件名, 回调函数)
- 添加事件监听器
- ```javascript
- anim.on('complete', () => console.log('动画播放完成'));
- ```
- #### off(事件名, 回调函数)
- 移除事件监听器
- #### once(事件名, 回调函数)
- 添加一次性事件监听器
- ### 支持的事件
- - 'complete' - 动画播放完成
- - 'loop' - 动画循环播放
- - 'frame' - 帧更新
- ## 5. 高级特性
- ### 镜像配置
- 支持两种级别的镜像配置:
- 1. 全局镜像:在初始化配置中设置
- 2. 动作级镜像:在具体动作配置中设置
- ```javascript
- {
- mirrorPairs: [[0,4], [1,3]], // 方向0镜像到4,方向1镜像到3
- }
- ```
- ### 偏移支持
- - 通过x.txt文件配置每帧的偏移量
- - 格式:每行两个数字,分别表示x和y的偏移值
- ```
- 10 20
- 15 25
- 20 30
- ```
- ## 6. 注意事项
- 1. 资源命名规范
- - 图片文件名必须符合路径模板格式
- - 偏移文件(x.txt)需要放在相同目录下
- 2. 性能优化
- - 合理设置fps避免性能问题
- - 不使用时调用销毁()释放资源
- 3. 方向说明
- - 8方向:0-7,从上开始顺时针
- - 5方向:自动镜像补全
- - 2/4方向:按需配置
- 4. 内存管理
- - 组件会自动管理纹理资源
- - 使用销毁()方法清理资源
- ## 7. 示例代码
- ```javascript
- // 创建并初始化动画组件
- const anim = new 动画组件();
- await anim.初始化(100, 200, {
- 路径: 'assets/character/{action}_{dir}_{frame}.png',
- 动作列表: {
- idle: {
- 帧数: 8,
- fps: 10,
- anchor: {x: 256, y: 256},
- mirrorPairs: [[1,3]]
- },
- walk: {
- 帧数: 8,
- fps: 12,
- 方向: 4
- }
- },
- 方向数: 8,
- 锚点像素X: 256,
- 锚点像素Y: 256
- });
- // 添加到场景
- scene.addChild(anim.获取容器());
- // 播放动画
- anim.播放('idle', 0, true);
- // 监听事件
- anim.on('complete', () => {
- console.log('动画播放完成');
- });
- // 控制播放
- anim.设置速度(1.5);
- anim.暂停();
- anim.继续();
- ```
- 这个文档涵盖了动画组件的所有主要功能和使用方法。如果您有任何具体的问题或需要更详细的说明,请随时询问。
复制代码
|
|