C# 如何逐一实例化?
我想一个一个地实例化单元C# 如何逐一实例化?,c#,for-loop,unity3d,C#,For Loop,Unity3d,我想一个一个地实例化单元 void Update() { timer += Time.deltaTime; Enemies[] enemies = stage.enemies; if (timer >= 0) { Vector3 enemyPos = new Vector3 (transform.position.x, Random.Range (-5.0f, 5.0f), transform.position.z); for (in
void Update() {
timer += Time.deltaTime;
Enemies[] enemies = stage.enemies;
if (timer >= 0) {
Vector3 enemyPos = new Vector3 (transform.position.x, Random.Range (-5.0f, 5.0f), transform.position.z);
for (int i = 0; i < enemies.Length; i++) {
for (int j = 0; j < enemies[i].count; j++) {
print (enemies.Length);
print (enemies[i].count);
GameObject spawn = Instantiate (enemyPrefeb, enemyPos, Quaternion.identity);
timer = delayTimer;
}
}
}
}
void Update(){
timer+=Time.deltaTime;
敌人[]敌人=舞台上的敌人;
如果(计时器>=0){
Vector3 enemyPos=新的Vector3(transform.position.x,Random.Range(-5.0f,5.0f),transform.position.z);
for(int i=0;i<0.Length;i++){
对于(int j=0;j<敌人[i].计数;j++){
打印(长度);
打印(敌人[i].计数);
GameObject spawn=实例化(enemyPrefeb、enemyPos、Quaternion.identity);
定时器=延迟定时器;
}
}
}
}
da
我用双人换圈。当前状态产生10个单位(DB),与一个单位类似。(重叠)
如何修复它
我想要一个接一个的延迟产卵。像这样尝试(每秒产卵一个敌人):
float delayTimer=1;
无效更新(){
timer+=Time.deltaTime;
敌人[]敌人=舞台上的敌人;
如果(计时器>=延迟计时器){
Vector3 enemyPos=新的Vector3(transform.position.x,Random.Range(-5.0f,5.0f),transform.position.z);
GameObject spawn=实例化(enemyPrefeb、enemyPos、Quaternion.identity);
定时器=0;
for(int i=0;i<0.Length;i++){
对于(int j=0;j<敌人[i].计数;j++){
打印(长度);
打印(敌人[i].计数);
}
}
}
}
您弄错了两行,您必须检查计时器是否与delayTimer一样高,然后生成enmy并将计时器重置为0。检查不同的定位。对于计时,您可以创建自己的计时器或使用
float delayTimer = 1;
void Update() {
timer += Time.deltaTime;
Enemies[] enemies = stage.enemies;
if (timer >= delayTimer) {
Vector3 enemyPos = new Vector3 (transform.position.x, Random.Range (-5.0f, 5.0f), transform.position.z);
GameObject spawn = Instantiate (enemyPrefeb, enemyPos, Quaternion.identity);
timer = 0;
for (int i = 0; i < enemies.Length; i++) {
for (int j = 0; j < enemies[i].count; j++) {
print (enemies.Length);
print (enemies[i].count);
}
}
}
}