我正在为我的Unity3D游戏制作字幕场景,但背景图片有问题。我有5个要用于背景图像的精灵。我是C#的新手,所以有人可以帮我制作一个脚本,每10-15秒交换一次图片吗?
答案 0 :(得分:2)
想要的声音an animation。
Unity的动画编辑器将使您可以为附加到GameObject的 any 组件的 any 属性创建动画。这包括更改其精灵。
添加一个属性,将其指向sprite组件,并在时间轴上每10秒创建一个关键帧。在这些关键帧处,更改精灵的图像。
保存。就是这样!
答案 1 :(得分:1)
听起来像协程的理想用法: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())
。