我怎样才能让精灵每 10 秒过渡到一个新的精灵

How can I make sprites transition ever 10 seconds to a new sprite

我正在为我的 Unity3D 游戏制作致谢名单场景,但在处理背景图像时遇到了问题。我有 5 个精灵要用于背景图像。我是 C# 的新手,所以有人可以帮我制作一个脚本来每 10-15 秒交换一次精灵吗?

听起来像是协程的理想用途: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
    }
}

start it时调用StartCoroutine(SwapSprites())StopCoroutine(SwapSprites())when/if想结束时调用StartCoroutine(SwapSprites())

听起来你想要 an animation

Unity 的动画编辑器可让您为附加到 GameObject 的 any 组件的 any 属性 创建动画。这包括更改其精灵。

添加一个属性,将其指向精灵组件,并在时间轴上每 10 秒创建一次关键帧。在这些关键帧处,更改精灵的图像。

保存。就是这样!