dinorun/Assets/Scripts/AnimatedSprite.cs
2025-08-16 18:31:38 +05:30

49 lines
933 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimatedSprite : MonoBehaviour
{
public Sprite[] sprites;
private SpriteRenderer spriteRenderer;
private int frame;
private void Awake()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
private void OnEnable()
{
Invoke(nameof(Animate), 0f);
}
private void OnDisable()
{
CancelInvoke();
}
private void Animate()
{
frame++;
if (frame >= sprites.Length)
{
frame = 0;
}
if (frame >= 0 && frame < sprites.Length)
{
spriteRenderer.sprite = sprites[frame];
}
float timeForNextFrame = 1f / GameManager.Instance.gameSpeed;
if (timeForNextFrame > 0.5f) {
timeForNextFrame = 0.5f;
}
Invoke(nameof(Animate), timeForNextFrame);
}
}