Game Maker中的Sprite不会按我想要的方式运行

时间:2016-11-10 22:05:09

标签: gml

我目前正致力于为我的播放器制作动画,让他表现得像他在呼吸一样。

if(time mod 60==0){
   if(image_index==0){
     image_index=1;
   }
   else{
     image_index=0;
   }
}
time++;

整个事情都放在step事件中,sprite正在改变每一步,甚至更改为索引2和3,我甚至没有在代码中使用它。

所以,如果有人有一些想法,为什么它会像这样工作,那么请告诉我。

1 个答案:

答案 0 :(得分:1)

这是因为您使用的精灵有多个子图像。 GameMaker会自然地每帧迭代图像索引。 首先,您需要停止使用

运行动画
image_speed = 0;

当精灵刚刚更改时,你必须运行这一行,所以理想情况下只需更改“sprite_index”变量。如果您不更改它,只需在创建代码中将image_speed设置为零。

如果你很好奇,我在这里找到答案:How to freeze sprite animation on last frame?