前方の障害物
CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 28/56。
チャレンジ
中級次は障害物です。シーンにはObstacleプレハブがあります。これはトリガーコライダーとObstacleスクリプトが付いた赤いブロックで、Spawnerオブジェクトは道路の遠端、(0, 0.75, 40) に配置されています。前のレッスンのランナーはそのまま使い、2つのスクリプトを完成させましょう。
Inspectorでフィールドを設定するSpawner:obstaclePrefab、spawnEvery(1.2)、laneWidth(2.5):
- Playを押してから
spawnEvery秒後に開始し、その後はspawnEvery秒ごとにプレハブから障害物を生成します。 - -1、0、1からレーンをランダムに選び、Spawnerの位置からx方向に
lane * laneWidthだけ移動した位置に配置します。
speedフィールド(プレハブで10に設定)を持つObstacle:
- 毎フレーム、1秒あたり
speedユニットの速さで、-z方向にランナーへ向かって移動します。 - zが-10より小さくなり、カメラの後ろに移動したら、破棄します。
今のところ、障害物はランナーを通り抜けます。衝突は後のレッスンで扱います。Playを押して障害物がやってくるのを見てから、Checkを押しましょう。
自分で試してみよう
using UnityEngine;
public class Spawner : MonoBehaviour
{
// 障害物を道路に沿って送り出します。次のレッスンでこの部分を実装します。
}