ゲームを作成していて、衝突が発生するたびに爆発アニメーションを実行したいと考えています。ただし、アニメーション化する方法を知っているアプローチは、キーボード入力に基づいています。呼び出されたときにアニメーションがすべてのフレームを 1 回通過してから停止するようにメソッドをコーディングする最良の方法は何ですか?
public void Update(GameTime gametime)
{
timer += gametime.ElapsedGameTime.Milliseconds;
if (timer >= msBetweenFrames)
{
timer = 0;
if (CurrentFrame++ == numberOfFrames - 1)
CurrentFrame = 0;
rect.X = CurrentFrame * width;
rect.Y = 0;
}
}
public void Render(SpriteBatch sb, Vector2 position, Color color)
{
sb.Draw(aniTex, position, rect, color, 0, Vector2.Zero, 2.0f, SpriteEffects.None, 0);
}