1
我试图在每次调用NewSpawn()时实例化一个僵尸预制件,这是当reSpawn变量变为'true'(通过检查器)时。但是,一旦我实例化了一个僵尸,它会对僵尸的无限循环进行无限循环。 [克隆克隆克隆]如何限制每个方法调用一个僵尸实例化? (我想打10个僵尸,而不是10,000。 谢谢! Unity:GameObject反复实例化问题
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;
}
}
好了,想通了,它这是因为被实例化的预制具有僵尸脚本。当我删除它时,它被单例化。但是,我遇到了僵尸预制不接受场景的玩家变换的问题,并且当我将玩家预制时,他们不再朝着玩家跑去。我如何让僵尸向玩家预制的僵尸奔跑,而不是玩家场景? – BenSmith
@BenSmith这是一个完全不同的话题。考虑为此提出一个新问题。我会尽力帮助你。 – Deadzone