1.在HUDCanvas下新建Image:ScreenFader
设置为全屏显示,且颜色设置为浅蓝
2.添加GameOverText
并设置Text参数:
3.调整HUDCanvas顺序,与就是渲染顺序:
4.初始化时,把GameOverText和ScreenFader的透明度设置为0:
5.把Animator Controller用在UI上,使得UI动起来!
create GameOverClip:
unity会自动生成HUDCanvas的Animator Controller
GameOver时,
GameOverText透明度由0增强到1
GameOverText大小变大
ScoreText大小变小
ScreenText颜色透明度由0增强到1
1)按住红色框框住的点把所有那一列的关键帧拖到30帧:
2)把白线拖到20帧处,选择GameOverText.Scale,在20帧处添加关键帧
3)点击左上角红色圆圈,record按钮,此时就可以改变20帧处ameOverText.Scale的值
同理,改变其他变量在20帧处的值:
4)按播放键就可以看到渐变动画了:
5)由于我们并不想游戏一开始就播放动画,所以我们把它整体移到30帧后:
6)出来的动画时一直循环播放的,所以我们需要把Loop Tome关掉
7)设置HUDCanvas状态机:
添加一个New State,当玩家输掉时,才触发GameOver触发器,播放GameOver动画:
8)给Hierarchy里的HUDCanvas添加脚本GameOverManager.cs:
using UnityEngine;
public class GameOverManager : MonoBehaviour
{
public PlayerHealth playerHealth;
Animator anim;
void Awake()
{
anim = GetComponent<Animator>();
}
void Update()
{
if (playerHealth.currentHealth <= 0)
{
anim.SetTrigger("GameOver");
}
}
}