import { Player } from "./base.js"; import { GIF } from '/static/js/utils/gif.js'; export class Kyo extends Player{ constructor(root,info) { super(root,info); this.init_animations(); } init_animations() { let outer = this; // 要在下面的function中使用必须保存当前的this let offsets = [0,-10,-10,0,0,0,0]; // 总共有七个动作 for (let i = 0 ; i < 7; i++) { let gif = new GIF(); gif.load(`/static/images/player/kyo/${i}.gif`); // gif->images this.animations.set(i, { gif: gif, frame_cnt: 0, // 总图片数 frame_rate: 5, // 每5帧过渡一次 offset_y: offsets[i], // y方向偏移量 loaded: false, // 是否加载完成 scale: 2, // 放大多少倍 }); // 加载动画 gif.onload = function() { let obj = outer.animations.get(i); // 获取第i个动作 obj.frame_cnt = gif.frames.length; // 配置总图片数 obj.loaded = true; // 成功加载 if (i === 3) { obj.frame_rate = 4; } }; } } }