Menu
CoddyTech

回顾:弹窗计时器

本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 17 课,共 64 课。

本章将脚本与事件联系起来:用于监听的 C# 事件、在 Inspector 中连线的行所用的 UnityEvent,以及 OnEnable 和 OnDisable,让你只在对象处于活动状态时监听。

challenge icon

挑战

简单

让成就弹窗自动隐藏。

  1. 在 AchievementPopup 中,添加 private float timeLeft;,并在 Show 中将它设为 showTime。
  2. 在 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);
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Unity 游戏架构中的所有课

自己练习: Unity 在线编辑器