回顾:弹窗计时器
本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 17 课,共 64 课。
本章将脚本与事件联系起来:用于监听的 C# 事件、在 Inspector 中连线的行所用的 UnityEvent,以及 OnEnable 和 OnDisable,让你只在对象处于活动状态时监听。
挑战
简单让成就弹窗自动隐藏。
- 在
AchievementPopup中,添加private float timeLeft;,并在Show中将它设为showTime。 - 在
Update()中,只要timeLeft大于 0,就从中减去Time.deltaTime;时间耗尽时,调用panel.SetActive(false)。
按下 开始并拾取一枚硬币:2 秒后,弹窗会隐藏。然后点击检查。
亲手试试
using UnityEngine;
using TMPro;
// 在 HUD 上显示已解锁成就的标题。
public class AchievementPopup : MonoBehaviour
{
public GameObject panel;
public TMP_Text titleText;
public float showTime = 2f;
public void Show(string title)
{
titleText.text = "Unlocked: " + title;
panel.SetActive(true);
}
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
Unity 游戏架构中的所有课
自己练习: Unity 在线编辑器