Звучит как идеальное использование для сопрограмм: https://docs.unity3d.com/Manual/Coroutines.html
Вот примерный пример того, как это можно сделать.
public List<Sprite> spritesToSwap; // contains all the sprites to loop through
IEnumerator SwapSprites() {
int spriteIndex = 0;
while (true) {
gameObject.GetComponent<SpriteRenderer>().sprite = spritesToSwap[spriteIndex];
// ^ replace the sprite
spriteIndex++;
if (spriteIndex == spritesToSwap.Count) spriteIndex = 0;
// ^ loop back to first sprite
yield return new WaitForSeconds(10f); // adjust this time as desired
}
}
Позвоните StartCoroutine(SwapSprites())
, когда хотите запустите его и StopCoroutine(SwapSprites())
, когда / если вы хотите закончить его.