復習:ポップアップタイマー
CoddyのUnityジャーニー「Unityのゲームアーキテクチャ」セクションの一部。レッスン 17/64。
この章では、スクリプトとイベントを関連付けました。コードで監視する C# イベント、インスペクターで接続する行のための UnityEvents、そしてアクティブな間だけ監視するための 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プレイグラウンド