实例化不会停止计数并额外添加一个。解决方案?

Instantiation does not stop at count and adds one extra. Solution?

所以,这是我的代码。在 SpawnObj1() & SpawnObj2() 中有 instantiate 代码。 prefabs inside SpawnObj()(1 & 2 ) 正确生成但 SpawnObj1 生成 一个额外的 prefabcount 位于 5。如何在 count 处停止实例化?

 public void Spawner()
     {
         if (objCount < 5)
         {
             SpawnObj1();
         }
 
         if (objCount >= 5)
         {
             SpawnObj2();
         }
     }

顺便说一句,objCountobjCount ++SpawnObj().

我猜你在 SpanwObject1() 和 SpawnObject2() 中递增了“objCount”。 如果我们按照 objCount 为 4

时的代码
objCount is 4
SpawnObject1() // increment the objCount
objCount is 5

So the condition objCount >= 5 is valid here in the same call of "Spawner()"
SpawnObject2()

一个简单的解决方法是像这样修改您的代码:

public void Spawner()
 {
     if (objCount < 5)
     {
         SpawnObject1();
     }
     else if (objCount >= 5)
     {
         SpawnObject2();
     }
 }

通过此修复,当 objCount 为 4 时,不会在 SpawnObject1 之后立即调用 SpawnObject2()。您还可以在每个“SpawnObject...”后添加一个 return