超初心者のゲーム開発記~Unity~

超初心者がUnityでゲーム(目標はAndroidアプリ )を開発していくブログです!

【Unity公式チュートリアル】 サバイバルシューター part.11 敵の自動生成機能を作る!

こんにちは!ヤギです!

Unity公式チュートリアルのサバイバルシューターをやってみるpart.11になります。

記事概要

今回の記事では、敵の自動生成機能の作り方についてご説明していきます。
時間経過で自動で敵が作成されるようにしていきます。
※part.11に対応する公式チュートリアルは、
Spawning Enemies - Unityとなります。
※公式チュートリアルでは、複数の敵を生成していますが、簡略化のため1種類の敵でご説明いたします。
※前回の記事はこちら
www.yagigame.com

敵を自動生成するスクリプトの作成

1. Hierarchy > Create > Create Emptyを選択し、名前をEnemyManagerとします。
f:id:yagigame:20181119200647p:plain
2. Project > Assets > Scripts > Manager > EnemyManager.csをEnemt Managerにドラッグし適用します。
3. EnemyManager.csに敵を自動生成する処理を書いていきます。
※ソース内の解説をご確認ください。

using UnityEngine;

public class EnemyManager : MonoBehaviour
{
    public PlayerHealth playerHealth; //プレイヤーのHP
    public GameObject enemy; //敵のオブジェクト
    public float spawnTime = 3f; //敵の生成間隔
    public Transform[] spawnPoints; //敵を生成する場所

    void Start ()
    {
        //敵を生成する間隔で、敵を生成する処理を呼ぶ
        InvokeRepeating ("Spawn", spawnTime, spawnTime);
    }

    //敵を生成する処理
    void Spawn ()
    {
        //プレイヤーのHPが0以下の場合
        if(playerHealth.currentHealth <= 0f)
        {
            return;
        }

        //敵を生成する場所をランダムに決める
        int spawnPointIndex = Random.Range (0, spawnPoints.Length);

        //敵を生成する
        Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
    }
}

敵を生成する場所(SpawnPoints)の設定

1. Hierarchy > Create > Create Emptyを選択し、名前をZombunnySpawnPointとします。
2. ZombunnySpawnPoint > Inspector > 四角マークを押し、青丸を選択します。
※これでZombunnySpawnPointが、Scene viewに表示されます。
f:id:yagigame:20181119202624p:plain
3. ZombunnySpawnPoint > Inspector を以下の内容に修正します。
・Position > (-20.5,0,12.5)
・Rotation > (0,130,0)
4. Hierarchy > EnemyManager > Inspectorを以下の内容修正します。
・Player Health > Player ※Hierarchy > Playerをドラッグ
・Enemy > Zomunny ※Hierarchy > Zombunnyは削除し、Prefabs > Zomnunnyをドラッグ
・Spawn Points > ZombunnySpawnPoint ※Hierarchy > ZombunnySpawnPointをドラッグ
f:id:yagigame:20181119204228p:plain
5. ZombunnySpawnPointと同様のオブジェクトを作成し、Spawn Pointsに追加します
※これで、ランダムな場所から敵が作成されるようになります。
f:id:yagigame:20181119204443p:plain

実行してみましょう!

ランダムな場所に敵が自動生成されていれば、大大成功です!!
https://yagigameblog.tumblr.com/post/180271614805/unity公式チュートリアル-サバイバルシューター-part11-敵の自動生成機能を作る

次回予告

次回は、ゲームオーバーの機能を作成していきます!
次回に対応する公式チュートリアルは、「Game Over」です!

読んでいただきありがとうございました!