用c#写一个进入场景后,场景中的图片一 一渐隐渐现平滑显示尾图片二渐隐渐现的代码
时间: 2024-02-09 21:10:25 浏览: 62
可以使用以下代码实现:
```csharp
using UnityEngine;
using System.Collections;
public class FadeInFadeOut : MonoBehaviour {
public float fadeTime; // 渐变时间
public SpriteRenderer spriteRenderer1; // 图片一
public SpriteRenderer spriteRenderer2; // 图片二
void Start () {
StartCoroutine(FadeInAndOut());
}
IEnumerator FadeInAndOut () {
// 隐藏图片一
Color tmpColor1 = spriteRenderer1.color;
tmpColor1.a = 0.0f;
spriteRenderer1.color = tmpColor1;
// 隐藏图片二
Color tmpColor2 = spriteRenderer2.color;
tmpColor2.a = 0.0f;
spriteRenderer2.color = tmpColor2;
// 渐变显示图片一
while (tmpColor1.a < 1.0f) {
tmpColor1.a += Time.deltaTime / fadeTime;
spriteRenderer1.color = tmpColor1;
yield return null;
}
// 渐变显示图片二
while (tmpColor2.a < 1.0f) {
tmpColor2.a += Time.deltaTime / fadeTime;
spriteRenderer2.color = tmpColor2;
yield return null;
}
}
}
```
使用方法:
1. 将上述代码保存为 `FadeInFadeOut.cs` 并挂载到场景中任意一个游戏对象上,比如一个空的 GameObject。
2. 在 Inspector 中设置 `fadeTime` 参数为渐变时间,单位为秒。
3. 将需要渐变显示的图片分别拖到 `spriteRenderer1` 和 `spriteRenderer2` 参数中。
4. 运行游戏即可看到图片一渐隐渐现平滑显示尾图片二渐隐渐现的效果。
注意:本代码仅适用于使用 Sprite Renderer 组件渲染的图片,如果使用其他方式渲染图片则需要修改代码。
阅读全文