Phaser.io图集动画
Phaser.io atlas animation
- 我在 blender 中从顶视图创建了一个汽车动画。并将动画渲染为图片序列。
然后使用鞋盒创建图集,trim alpha 选项设置为 True,以减小尺寸(cars.png, cars.js)
现在我在 Phaser 中播放动画,汽车固定在一个位置,不会从一端移动到另一端。
- 如何播放动画以便 Phaser 在播放动画时读取 sourcesize。
blender 渲染的图片与 phaser canvas window 相同。但是当我 trim 它在 Shoebox 中移除 alpha 时,我无法正确地锚定汽车。
- 谁能指出我可能遗漏了什么。
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' 的动画。不确定您是否只是选择性地复制粘贴该代码,但动画键需要匹配。
- 我在 blender 中从顶视图创建了一个汽车动画。并将动画渲染为图片序列。
然后使用鞋盒创建图集,trim alpha 选项设置为 True,以减小尺寸(cars.png, cars.js)
现在我在 Phaser 中播放动画,汽车固定在一个位置,不会从一端移动到另一端。
- 如何播放动画以便 Phaser 在播放动画时读取 sourcesize。 blender 渲染的图片与 phaser canvas window 相同。但是当我 trim 它在 Shoebox 中移除 alpha 时,我无法正确地锚定汽车。
- 谁能指出我可能遗漏了什么。
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' 的动画。不确定您是否只是选择性地复制粘贴该代码,但动画键需要匹配。