Вы не анимации спрайтов, вы анимируете компонент (SpriteRenderer) с помощью Sprite. Спрайт - это текстура с некоторым специальным атрибутом, поэтому она рассматривается конкретно.
Вы не анимируете текстуру, это просто изображение, у вас есть набор текстур, которые вы меняете, чтобы создать эффект анимации.
Если вы хотите анимировать свой 3-2-1-Go, вам сначала нужно создать объект игры Sprite, затем назначьте ему текстуру спрайта, а затем создайте аниматор и анимационный клип.
Ваша анимация будет менять текущую текстуру в определенное время, скорее всего, с помощью анимационного события.
На самом деле, это может быть проще сделать это с помощью сценария:
// Drag sprites, make sure they are in order (3->2->1->Go)
public Sprite[] sprites;
public SpriteRenderer sp;
int index = 0;
void Start()
{
// Check your sprites and sp
InvokeRepeating("SwapSprite", 1.0f,1.0f); // Start timer to swap each second
sp.sprite = sprites[index]; // Set initial sprite
}
private void SwapSprite()
{
if(++index == sprites.Length) // Increase the index and check we run out of sprites
{
CancelInvoke();
sp.enabled = false; // Remove the counter
this.enabled = false; // That scripts is no more useful (could be destroyed)
return;
}
sp.sprite = sprites[index]; // Set new sprite
}
использовать Invoke для таймеров в Unity. – Fattie
Вы пытаетесь создать единую анимацию, которая переходит между 4 суб-изображениями? – LeftRight92
Эй, ребята, я понял это. Это была моя глупость в лучшем виде. Спасибо за ваш ответ, хотя, и я отвечу ваши комментарии @JoeBlow –