【发布时间】:2021-10-25 12:05:02
【问题描述】:
我正在尝试使用 Phaser 3 框架。
为了加载 spritesheet 并创建它的动画,我首先加载 spritesheet:
this.load.spritesheet('player', 'assets/spritesheets/player.png',{frameWidth:16,frameheight:16});
然后我按如下方式创建动画:
this.anims.create({
key:"player_anim",
frames: this.anims.generateFrameNumbers("player"),
frameRate:8,
repeat:-1,
});
这很好用,但如果我的尺寸不相等,例如
this.load.spritesheet('1health', 'assets/spritesheets/1health.png',{frameWidth:96,frameheight:32});
this.anims.create({
key:"1health_anim",
frames: this.anims.generateFrameNumbers("1health"),
frameRate:4,
repeat:-1,
});
我收到以下错误:
SpriteSheet frame dimensions will result in zero frames for texture: 1health
generateFrameNumbers: Frame 0 missing from texture: 1health
generateFrameNumbers: Frame 0 missing from texture: 1health
如果我打印console.log(this.anims.generateFrameNumbers("player"));
输出是:
[
{
"key": "player",
"frame": 0
},
{
"key": "player",
"frame": 1
},
{
"key": "player",
"frame": 2
},
{
"key": "player",
"frame": 3
}
]
但是对于不等维度的精灵,我得到一个空数组。
在Phaser's Documentation 中,似乎可以为精灵表使用不同的尺寸。
任何帮助或指点将不胜感激。
编辑 这是我尝试使用的图片
【问题讨论】:
标签: javascript sprite phaser-framework sprite-sheet