2016-11-10 8 views
1

私は現在、彼が呼吸しているように行動するようにプレイヤーのアニメーションを作成しています。Game Makerのスプライトは、私が欲しいやり方で行動しません。

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

全体のことは、ステップイベントとスプライトに入れているすべての単一のステップを変更し、それも私も、コードで使用されていないインデックス2と3に変更されます。

誰かが何らかのアイデアを持っているとすれば、なぜそれがこのように機能するのでしょうか教えてください。

答えて

0

これは、使用するスプライトに複数のサブ画像があるためです。 GameMakerは、フレームごとに自然にイメージインデックスを繰り返します。 だからまず、あなたはとても理想的なだけで「sprite_index」変数が変更された後、あなたはスプライトがちょうど変更された場合は、この行を実行する必要が

image_speed = 0; 

で実行されているから、アニメーションを停止する必要があります。変更しない場合は、作成コードでimage_speedをゼロに設定するだけです。

あなたが好奇心が強いなら、私はここで答えを見つけました:How to freeze sprite animation on last frame?

関連する問題