javascript - Phaser.io 图集动画

标签 javascript html5-canvas phaser-framework pixi.js

  • 我在 blender 中从俯 View 创建了一个汽车动画。并将动画渲染为图片序列。
  • 然后使用鞋盒创建图集,并将 trim alpha 选项设置为 True,以减小尺寸(cars.png、cars.js)

  • 现在我在 Phaser 中播放动画,汽车被锚定在一个位置,并且不会从一端移动到另一端。

  • 如何播放动画,以便 Phaser 在播放动画时读取源大小。 blender 渲染的图片与移相器 Canvas 窗口相同。但是当我在 Shoebox 中 trim 它以去除 alpha 时,我无法正确锚定汽车。
  • 谁能指出我可能遗漏了什么。

enter image description here

preload: function () {

this.load.atlas('carImg', 'images/cars.png', 'images/cars.js', Phaser.Loader.TEXTURE_ATLAS_JSON_HASH);

}

create: function () {

this.carSprite = this.add.sprite(300, 300, 'carImg');
this.carSprite.animations.add('car',Phaser.Animation.generateFrameNames('Car', 0, 200, '.png', 4), 18, true);
this.carSprite.animations.play('car',18,true);
}

最佳答案

只要正确加载,Phaser 就会尊重并使用图集中的 trim/sourceSize 值。您通常应该使用数据文件的扩展名“json”,而不是“js”。另外,你确定它肯定是HASH格式吗?如果您删除该参数,Phaser 将在检查源文件时自动为您计算出它。

此外,在您的代码中您创建了一个名为“car”的动画,但正在播放一个名为“bus”的动画。不确定您是否只是有选择地复制粘贴该代码,但动画键需要匹配。

关于javascript - Phaser.io 图集动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722381/

相关文章:

JavaScript自动将图像文件保存到文件夹

javascript - 当 firebug 说它是 34 时,为什么 jquery 会为 offsetHeight 返回 0?

javascript - 将 SVG 转换为数据 URI 在 Firefox 中不起作用

javascript - 如何在 HTML5 canvas 和 jquery 中使用鼠标事件而不是键盘代码?

javascript - 无法添加 Phaser JS 状态

jasmine - 如何使用 Jasmine 测试 Phaser 3 项目?

javascript - 从 JavaScript 类继承特性

javascript - 单击框时使用 js 弹出

javascript - 检查的输入在 Angular 侧面部分中不起作用

docker - FFmpeg 流在一定时间后停止