Menu
CoddyTech

空から降るブロック

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

challenge icon

チャレンジ

中級

毎秒、空中にブロックを生成します。操縦機能はそのままにします。

  1. [SerializeField] private GameObject blockPrefab;、[SerializeField] private float spawnEvery = 1f;、および private List<GameObject> blocks = new List<GameObject>(); を追加します。
  2. float timer に Time.deltaTime を加算し、spawnEvery に達したら、そこから spawnEvery を引きます。
  3. 次に、new Vector3(Random.Range(-laneEdge, laneEdge), 10f, 0f) の位置にブロックを生成し、それを blocks に追加します。

「プレイ」を押すと、レーンのはるか上にブロックが現れます。次に「確認」を押します。

自分で試してみよう

using UnityEngine;

public class Runner : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private float laneEdge = 4f;

    void Update()
    {
        Vector3 p = transform.position;
        p.x += Input.GetAxisRaw("Horizontal") * speed * Time.deltaTime;
        p.x = Mathf.Clamp(p.x, -laneEdge, laneEdge);
        transform.position = p;
    }
}

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

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