Unity:GameObject 重复实例化问题

Unity: GameObject repeated instantiation issue

我每次调用 NewSpawn() 时都试图实例化一个僵尸预制件,这时 reSpawn 变量变为 'true'(通过检查器)。但是,一旦我实例化一个僵尸,它就会无限循环僵尸的克隆。 [Making clones of clones of clones] 如何将其限制为每次方法调用一个僵尸实例化? (我想制作 10 个僵尸,而不是 10,000 个。 谢谢!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Zombie : MonoBehaviour {

    public GameObject zombiePrefab;
    public Transform zombieSpawnPoint;
    private Transform[] spawnPositions;
    public bool reSpawn = false;
    private bool lastToggle = false;

    // Use this for initialization
    void Start () {
        spawnPositions = zombieSpawnPoint.GetComponentsInChildren<Transform>();
    }

    private void NewSpawn()   //spawn location of newZombie
    {
        Instantiate(zombiePrefab, transform.position, transform.rotation);
        int i = Random.Range(1, spawnPositions.Length);
        transform.position = spawnPositions[i].transform.position;

    }


    void Update () { //T-toggle
        if (reSpawn != lastToggle)
        {
            NewSpawn();
            reSpawn = false;
        }
        else
            lastToggle = reSpawn;
    }
}

只需在您的按钮点击事件中调用 NewSpawn() 而不是将 reSpawn 设置为 true。

此外,这没有任何意义:

else
{
   lastToggle = reSpawn;
}

他们已经相等了。