前方の障害物
CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 28/60。
チャレンジ
中級障害物を道路に沿って流しましょう。
SpawnerのUpdate()で、timerにTime.deltaTimeを加えます。spawnEveryに達したら、spawnEveryを差し引いてスポーンさせます。laneをRandom.Range(-1, 2)から取得し、x 軸方向にlane * laneWidthだけ Spawner の位置からずらした場所にobstaclePrefabをスポーンさせます。ObstacleのUpdate()で、Vector3.back方向に毎秒speed単位で移動させます。z が-10未満になったら破棄します。
「プレイ」を押すと、3 つすべてのレーンに障害物が現れます。その後、「確認」を押します。
自分で試してみよう
using UnityEngine;
public class Spawner : MonoBehaviour
{
public GameObject obstaclePrefab;
public float spawnEvery = 1.2f;
public float laneWidth = 2.5f;
private float timer;
// spawnEvery 秒ごとに、ランダムなレーンに障害物を送り出す
}
本格的なゲームを作るのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド