Menu
CoddyTech

振り返り:実績ポップアップ

CoddyのUnityジャーニー「Unityにおけるゲームアーキテクチャ」セクションの一部。レッスン 14/50。

challenge icon

チャレンジ

簡単

庭にはコインが散らばっていて、矢印キーで 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;
}

Unityにおけるゲームアーキテクチャのすべてのレッスン