using UnityEngine; public class SpritesAnimation : MonoBehaviour { [SerializeField] Sprite[] sprites; [SerializeField] SpriteRenderer spriteRenderer; [SerializeField] float frame; [SerializeField] bool loop; int currentImgIdx; float prevTime; private void Awake() { if(spriteRenderer == null) spriteRenderer = GetComponent(); } private void Update() { if (sprites.Length == 0) return; float delta = Time.time - prevTime; float interval = frame / sprites.Length; if (delta >= interval) { prevTime = Time.time; if(loop) currentImgIdx = (currentImgIdx + 1) % sprites.Length; else currentImgIdx = Mathf.Min(currentImgIdx + 1, sprites.Length - 1); } spriteRenderer.sprite = sprites[currentImgIdx]; } private void OnValidate() { if(spriteRenderer != null) spriteRenderer = GetComponent(); } }