コインマグネット
CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 65/67。
プレイヤーは磁石を持って、5枚のコインが置かれたフィールドを歩き回ります。磁石の範囲内に入ったコインはプレイヤーに向かって飛び、プレイヤーに届いたコインは回収され、カウントされます。遠くにあるコインは、プレイヤーが近づくまでその場にとどまります。
ゲーム全体を、プレイヤーに付ける1つのスクリプトMagnetに書きます。
チャレンジ
難しいPlayer に Magnet スクリプトを書きます。Inspector で speed (5)、range (3)、pullSpeed (8) を設定します。
- 矢印キーを押している間、プレイヤーは毎秒
speedユニットの速さで移動します。左と右は x 軸に沿って、上と下は z 軸に沿って移動します。 - コインは
Coinタグが付いたオブジェクトです。 - 毎フレーム、プレイヤーから
range未満の距離にある各コインは、毎秒pullSpeedユニットの速さでプレイヤーに向かって移動します。それより遠いコインは動きません。 - プレイヤーから 0.5 未満の距離にあるコインを回収します。コインを破棄し、カウントに 1 を加算して、カウントを
Coins: 1、Coins: 2のようにログに出力します。
Play を押してコインを集めてから、Check を押します。
自分で試してみよう
using System.Collections.Generic;
using UnityEngine;
public class Magnet : MonoBehaviour
{
[SerializeField] private float speed = 5f;
[SerializeField] private float range = 3f;
[SerializeField] private float pullSpeed = 8f;
void Start()
{
}
void Update()
{
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。