用c#写一个进入场景后,场景中的图片“一”渐隐渐现消失之后平滑显示图片“二”渐现渐隐的代码
时间: 2023-09-08 13:09:50 浏览: 73
以下是用 C# 编写的在场景中平滑渐变显示图片的示例代码:
```csharp
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
public class ImageFade : MonoBehaviour
{
public Image image1; // 图片一
public Image image2; // 图片二
public float fadeTime = 1.0f; // 渐变时间
IEnumerator Start()
{
// 隐藏图片一
image1.color = new Color(image1.color.r, image1.color.g, image1.color.b, 0);
// 显示图片二
image2.color = new Color(image2.color.r, image2.color.g, image2.color.b, 1);
// 等待一定时间
yield return new WaitForSeconds(fadeTime);
// 渐隐图片二
while (image2.color.a > 0)
{
float alpha = image2.color.a - (Time.deltaTime / fadeTime);
image2.color = new Color(image2.color.r, image2.color.g, image2.color.b, alpha);
yield return null;
}
// 渐现图片一
while (image1.color.a < 1)
{
float alpha = image1.color.a + (Time.deltaTime / fadeTime);
image1.color = new Color(image1.color.r, image1.color.g, image1.color.b, alpha);
yield return null;
}
// 隐藏图片二
image2.color = new Color(image2.color.r, image2.color.g, image2.color.b, 0);
}
}
```
在上述代码中,我们使用了协程来实现图片的平滑渐变显示。首先,我们将图片一隐藏,将图片二显示。然后,等待一定时间后,通过循环来渐隐图片二和渐现图片一,直到图片一完全显示出来。最后,隐藏图片二。您可以将此脚本挂载到场景中的一个空物体上,并将图片一和图片二分别指定到对应的 Image 组件上。在 fadeTime 参数中设置渐变时间。
阅读全文