Menu
CoddyTech

流れ星

CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 37/67。

challenge icon

チャレンジ

中級

星を落下させます。Catcherに2つのフィールドを追加します:

  • [SerializeField] private Transform star; シーンではすでにStarに設定されています。
  • [SerializeField] private float fallSpeed。シーンでは3に設定されています。

Update()で、星を1秒あたりfallSpeed単位の速さで真下に移動させます。今のところ、星は永遠に落下します。次の手順でキャッチします。

前の手順で設定したキャッチャーの移動と範囲制限はそのままにします。

自分で試してみよう

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;

    void Update()
    {
        float x = transform.position.x;
        if (Input.GetKey(KeyCode.RightArrow))
        {
            x += speed * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            x -= speed * Time.deltaTime;
        }
        x = Mathf.Clamp(x, -4f, 4f);
        transform.position = new Vector3(x, transform.position.y, transform.position.z);
    }
}

Unityスクリプティングの基礎のすべてのレッスン