用c#写一个进入场景后,场景中的图片一“小鸟”一渐隐渐现平滑显示图片“小猪”渐隐渐现的代码
时间: 2023-09-08 11:07:29 浏览: 58
你可以使用Unity中的协程和IEnumerator来实现平滑过渡显示图片的效果。以下是示例代码:
```c#
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class ImageFading : MonoBehaviour {
public Image birdImage;
public Image pigImage;
public float fadeTime = 1.0f;
public float waitTime = 3.0f;
private IEnumerator FadeIn(Image image, float time) {
Color color = image.color;
color.a = 0.0f;
image.color = color;
float t = 0.0f;
while (t < time) {
t += Time.deltaTime;
color.a = Mathf.Lerp(0.0f, 1.0f, t / time);
image.color = color;
yield return null;
}
yield return new WaitForSeconds(waitTime);
StartCoroutine(FadeOut(image, time));
}
private IEnumerator FadeOut(Image image, float time) {
Color color = image.color;
color.a = 1.0f;
image.color = color;
float t = 0.0f;
while (t < time) {
t += Time.deltaTime;
color.a = Mathf.Lerp(1.0f, 0.0f, t / time);
image.color = color;
yield return null;
}
StartCoroutine(FadeIn(image, time));
}
void Start () {
StartCoroutine(FadeIn(pigImage, fadeTime));
StartCoroutine(FadeOut(birdImage, fadeTime));
}
}
```
在上述代码中,我们定义了一个ImageFading脚本,其中包含了两个Image类型的变量:birdImage和pigImage,分别对应场景中的小鸟和小猪图片。我们还定义了两个协程FadeIn和FadeOut,分别用于渐显和渐隐图片。在Start函数中,我们分别启动了两个协程,实现了小鸟渐隐渐现为小猪的效果。你可以根据自己的需要,调整fadeTime和waitTime的值来控制渐变的速度和停留时间。
阅读全文