Phaser游戏 - 获取精灵的最后一帧

时间:2017-07-16 15:14:14

标签: javascript phaser-framework

我不想播放动画,我想通过点击左右按钮来改变精灵的帧。

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”吗?

2 个答案:

答案 0 :(得分:0)

我没有找到任何答案,我为所有对象创建了自定义变量'totalFrames'。第一帧是0,然后是1,依此类推......

if (rightClick)
{
   objects.frame += 1;
}
else if (leftClick)
{
   if (objects.frame > 0)
   {
      objects.frame -= 1;
   }
   else
   {
      objects.frame = objects.totalFrames;
   }
}

答案 1 :(得分:0)

有点晚了,购买后您可以尝试Phaser.GameObjects.Sprite.anims.getTotalFrames()