振り返り:実績ポップアップ
CoddyのUnityジャーニー「Unityにおけるゲームアーキテクチャ」セクションの一部。レッスン 14/50。
チャレンジ
簡単庭にはコインが散らばっていて、矢印キーで Player(Player.cs、準備済み)を動かします。画面にポップアップ表示される実績をゲームに追加しましょう。3つのスクリプトを書きます。シーンではすでにそれぞれのフィールドがリンクされており、Achievements の On Unlocked (String) リストは HUD 上の AchievementPopup.Show に接続されています。
Collector(Player にアタッチ)は、触れたCoinタグのオブジェクトをすべて拾って削除し、新しい合計数を int を渡すパブリックな C# イベントOnCoinsChangedで通知します。実績については何も知りません。Achievementsは、アクティブな間だけcollectorを監視します。コインが1枚でFirst Coin、3枚でPocket Money、6枚でCoin Hoarderを解除します。解除されるたびに、タイトル(文字列)を渡す UnityEvent フィールドonUnlockedを呼び出します。AchievementPopup.Show(string title)はpanelを表示し、titleTextにUnlocked: First Coinを表示してから、showTime秒(2秒)後に非表示にします。パネルが表示中に Show が呼ばれると、新しいタイトルを表示し、2秒のカウントが最初から始まります。
Play を押してコインを6枚すべて集めたら、Check を押してください。
自分で試してみよう
using UnityEngine;
public class Achievements : MonoBehaviour
{
public Collector collector;
}