我正在为我的游戏制作一个倒数计时器,我需要为这些精灵制作动画:“3”,“2”,“1”,“Go!”。我确切知道如何制作动画,这不是我的问题。我的问题是:为什么Unity不让我选择所有4个精灵并为它们制作动画?
如果您需要更多信息或其他图片,请告诉我们。谢谢! :)
答案 0 :(得分:0)
您没有动画精灵,您可以使用精灵为组件(SpriteRenderer)设置动画。精灵是具有一些特殊属性的纹理,因此它被特别考虑。
您不会为纹理设置动画,它只是一个图像,您有一组纹理可以交换以创建动画效果。
如果要为3-2-1-Go设置动画,首先需要创建一个Sprite gameObject,然后为其指定一个sprite纹理,然后创建一个Animator和一个动画剪辑。
您的动画会在特定时间交换当前纹理,很可能是动画事件。
实际上,通过脚本执行此操作可能更容易:
// 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
}