Phaser 游戏 - 获取精灵的最后一帧
Phaser game - get last frame of a sprite
我不想播放动画,我想通过单击左右按钮来改变精灵的帧数。
var sprite = game.add.sprite(200, 100, 'mySprite');
sprite.frame = 3;
现在,如果按下右键,我希望这个精灵转到下一帧
sprite.frame += 1;
如果按下左键,精灵会转到上一帧。
sprite.frame -= 1;
如果按下左键且当前帧为 0,精灵不会改变它的帧,它会停在第 0 帧。我希望当我单击左键时精灵从 0 到最后一帧。
例如,在 Actionscript 3 中,我可以这样做:
sprite.gotoAndStop(sprite.totalFrames);
Phaser/JS里面有"totalFrames"吗?
我没有找到任何答案,我已经为所有对象创建了一个自定义变量 'totalFrames'。第一帧是0,然后是1,依此类推...
if (rightClick)
{
objects.frame += 1;
}
else if (leftClick)
{
if (objects.frame > 0)
{
objects.frame -= 1;
}
else
{
objects.frame = objects.totalFrames;
}
}
有点晚了,买了可以试试Phaser.GameObjects.Sprite.anims.getTotalFrames()
我不想播放动画,我想通过单击左右按钮来改变精灵的帧数。
var sprite = game.add.sprite(200, 100, 'mySprite');
sprite.frame = 3;
现在,如果按下右键,我希望这个精灵转到下一帧
sprite.frame += 1;
如果按下左键,精灵会转到上一帧。
sprite.frame -= 1;
如果按下左键且当前帧为 0,精灵不会改变它的帧,它会停在第 0 帧。我希望当我单击左键时精灵从 0 到最后一帧。
例如,在 Actionscript 3 中,我可以这样做:
sprite.gotoAndStop(sprite.totalFrames);
Phaser/JS里面有"totalFrames"吗?
我没有找到任何答案,我已经为所有对象创建了一个自定义变量 'totalFrames'。第一帧是0,然后是1,依此类推...
if (rightClick)
{
objects.frame += 1;
}
else if (leftClick)
{
if (objects.frame > 0)
{
objects.frame -= 1;
}
else
{
objects.frame = objects.totalFrames;
}
}
有点晚了,买了可以试试Phaser.GameObjects.Sprite.anims.getTotalFrames()