实例化不会停止计数并额外添加一个。解决方案?
Instantiation does not stop at count and adds one extra. Solution?
所以,这是我的代码。在 SpawnObj1() & SpawnObj2() 中有 instantiate 代码。 prefabs inside SpawnObj()(1 & 2 ) 正确生成但 SpawnObj1 生成 一个额外的 prefab 当 count 位于 5。如何在 count 处停止实例化?
public void Spawner()
{
if (objCount < 5)
{
SpawnObj1();
}
if (objCount >= 5)
{
SpawnObj2();
}
}
顺便说一句,objCount 是 objCount ++ 在 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
所以,这是我的代码。在 SpawnObj1() & SpawnObj2() 中有 instantiate 代码。 prefabs inside SpawnObj()(1 & 2 ) 正确生成但 SpawnObj1 生成 一个额外的 prefab 当 count 位于 5。如何在 count 处停止实例化?
public void Spawner()
{
if (objCount < 5)
{
SpawnObj1();
}
if (objCount >= 5)
{
SpawnObj2();
}
}
顺便说一句,objCount 是 objCount ++ 在 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