C# 统一:游戏对象重复实例化问题
每次调用NewSpawn()时,我都试图实例化一个僵尸预制,这是reSpawn变量变为“true”(通过inspector)的时候。然而,一旦我实例化一个僵尸,它就会无限循环克隆僵尸。[克隆克隆的克隆]如何将每个方法调用限制为一个僵尸实例化?(我想做10个僵尸,而不是10000个。 非常感谢。C# 统一:游戏对象重复实例化问题,c#,debugging,unity3d,infinite-loop,instantiation,C#,Debugging,Unity3d,Infinite Loop,Instantiation,每次调用NewSpawn()时,我都试图实例化一个僵尸预制,这是reSpawn变量变为“true”(通过inspector)的时候。然而,一旦我实例化一个僵尸,它就会无限循环克隆僵尸。[克隆克隆的克隆]如何将每个方法调用限制为一个僵尸实例化?(我想做10个僵尸,而不是10000个。 非常感谢。 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 公共类僵尸:单一行为{ 公共游戏对象僵尸预制; 公共转换点; 私人职位转换; 公共bool re
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类僵尸:单一行为{
公共游戏对象僵尸预制;
公共转换点;
私人职位转换;
公共bool reSpawn=false;
private bool lastToggle=false;
//用于初始化
无效开始(){
spawnPositions=zombieSpawnPoint.GetComponentsInChildren();
}
私有void NewSpawn()//新僵尸的繁殖位置
{
实例化(僵尸预置、transform.position、transform.rotation);
int i=Random.Range(1,spawnPositions.Length);
transform.position=prownpositions[i].transform.position;
}
void Update(){//T-toggle
如果(重生!=lastToggle)
{
新闻兵();
重生=虚假;
}
其他的
lastToggle=重生;
}
}
只需在按钮单击事件中调用NewSpawn()
,而不是将reSpawn
设置为true
此外,这没有任何意义:
else
{
lastToggle = reSpawn;
}
它们已经相等了。好吧,我想出来了,这是因为正在实例化的预置有僵尸脚本。当我删除它时,它是单一实例化的。但是,我遇到了一个问题,僵尸预置不接受场景的玩家变换,当我放置玩家预置时,它们不再向玩家运行。我怎么才能让僵尸跑到一个僵尸玩家面前,而不是玩家场景呢?@ BenSmith,这是一个完全不同的话题。考虑为这个问题做一个新的问题。我会尽力帮助你。
else
{
lastToggle = reSpawn;
}