振り返り:最寄りのコイン
CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 47/67。
チャレンジ
中級プレイヤーにコインレーダーを付けましょう。矢印キーを押すとプレイヤーはすでに移動します。次を追加してください。Spaceキーを押すたびに、Coinタグが付いた最も近いオブジェクトの名前を、Nearest coin: Silverとしてログに出力します。
- コインにはそれぞれ異なる名前があり、岩はコインではありません。
- コインは拾うと消えます(
SetActive(false)で非表示になります)。そのため、Start()で一度だけではなく、キーを押すたびにコインを検索してください。
Playを押し、動き回ってSpaceキーを押してから、Checkを押してください。
自分で試してみよう
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: 最も近いコインの名前をログに出力する。
}
}