LoginSignup
1
0

More than 1 year has passed since last update.

TD 敵のスポーン機能を実装 1/2:一定時間でゲームオブジェクトを動的作成する

Last updated at Posted at 2023-03-26

概要

敵をスポーンする機能を実装します。
今回の記事ではオブジェクトを動的生成するところから実装します。

以下gifアニメの様な動きを実装します。
1秒毎にオブジェクト(敵に該当する)を生成します。

Spwan.gif

開発環境

IDE:Rider
Unity:2020.3.42(LTS)
OS:Windows10

実装のポイント

一定間隔でメソッドを実行するためにはUpdateメソッドとTime.deltaを使っています。
Update毎にspawnTimerの値(最大値1)が減少していきます。
0以下になった時にオブジェクトを動的生成するメソッドが実行されます。
0になった時spawnTimerに1が代入され、再度同じ処理が実行されます。

コード

Spawner.cs
using UnityEngine;
    public class Spawner : MonoBehaviour
    {
        [SerializeField] private GameObject testGO;
        [SerializeField]  private  int enemyCount = 10;
        // Btw = Between
        [SerializeField] private float delayBtwSpawns;

        private int _enemiesSpawned;
        private float _spawnTimer;
        
        private void Update()
        {
            _spawnTimer -= Time.deltaTime;
            if (_spawnTimer < 0)
            {
                _spawnTimer = delayBtwSpawns;
                if (_enemiesSpawned < enemyCount)
                {
                    SpawnEnemy();
                    _enemiesSpawned++;
                }
            }
        }
        
        private void SpawnEnemy()
        {
            Instantiate(testGO, transform.position, Quaternion.identity);
        }
        
    }

参考

Time.deltaTime

image.png

Section3 8

github commit 分

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0