Menu
CoddyTech

おさらい:最寄りのコイン

CoddyのUnityジャーニー「Unityスクリプトの基礎」セクションの一部。レッスン 61/85。

このまとめでは、章の内容を振り返ります。必要なときにタグで検索し、見つかったものをループで処理して、それぞれまでの距離を求めます。

challenge icon

チャレンジ

中級

プレイヤーにコインレーダーを持たせましょう。Spaceキーを押すと、最も近いコインの名前が表示されます。

  1. Spaceキーを押したとき、GameObject nearest = null;とfloat best = Mathf.Infinity;で始めます。
  2. GameObject.FindGameObjectsWithTag("Coin")内の各コインについて、プレイヤーとの距離がbestより小さい場合に、そのコインを保持します。
  3. "Nearest coin: " + nearest.nameをログに記録します。

「プレイ」を押して移動し、Spaceキーを押します。コンソールにNearest coin: Silverと表示されます。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class CoinRadar : MonoBehaviour
{
    [SerializeField] private float speed = 4f;

    void Update()
    {
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.position += new Vector3(speed * Time.deltaTime, 0, 0);
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.position -= new Vector3(speed * Time.deltaTime, 0, 0);
        }
        if (Input.GetKey(KeyCode.UpArrow))
        {
            transform.position += new Vector3(0, 0, speed * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            transform.position -= new Vector3(0, 0, speed * Time.deltaTime);
        }

        // Space: 最も近いコインの名前をログに出力する。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Unityスクリプトの基礎のすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド