游戏制作者 - 在动画结束时冻结精灵

时间:2016-07-14 14:42:24

标签: animation game-maker

当玩家死亡时,我希望精灵在最后一帧停止动画。

我在动画结束事件

上尝试了这个
if  (sprite_index == spr_ninja_dead) {
    image_speed = 0;
    image_index = image_number - 1;
}

我也试过这个

if  (sprite_index == spr_ninja_dead) {
    image_speed = 0;
    image_index = 9;
}

这是GM建议的推荐方式,但精灵在第一个子图像上冻结。我做错了什么?

2 个答案:

答案 0 :(得分:0)

当玩家被击中时,精灵会变为闪烁的精灵图像。然后警报会将其恢复正常。我添加了一个if语句来解决这个问题:

if (sprite_index = spr_ninja_flash){
    sprite_index = spr_ninja_idle;
}

答案 1 :(得分:0)

您要做的是先运行动画。 所以试试这个:

if( sprite_index == spr_ninja_dead ){
  if( image_index == image_number ){ // This will check if the image is the last image of the sprite
     image_speed = 0;
  }
}

首先检查精灵是否是死亡精灵,然后检查它是否是精灵的最后一个图像,如果是这种情况,你可以使用图像速度暂停动画。