繁体   English   中英

无响应-带多个变量C#的for循环中的运算符

[英]unresponsive — operator in a for loop with multiple variables C#

就像标题中所说的那样,我有一个waveManaging系统,该系统根据尚未产生并保持生命的敌人产生敌人。

for (int enemiesRemainingToSpawn = currentWaveNumber ; enemiesRemainingToSpawn > 0;enemiesRemainingToSpawn -- , enemiesRemainingAlive ++)
    {
        print("enemies spawning" + enemiesRemainingToSpawn);
        print("enemies alive" + enemiesRemainingAlive);
    }

目前这只是一个测试,但似乎“ enemiesRemaingToSpawn-”不起作用,而“ enemiesRemainingAlive ++”却起作用。

在GameDev Discord上,没有人发现任何错误,这就是为什么我在这里。 对我来说也很好。 我尝试将其放在循环体内,但效果不佳。 我已经在for循环的initializing(first)部分中指定了它,这再次不起作用。

有什么问题吗?

编辑:

public int enemiesRemainingToSpawn;
public int enemiesRemainingAlive;
public float afterWavePrepTime = 5f;
public GameObject basicEnemyPreFab;
public Transform[] spawnPoints;


private bool isWaveFinished = false;
private bool startNewWave = false;
public int currentWaveNumber;

void spawnEnemies ()
{
    int spawnPointIndex = Random.Range(0, spawnPoints.Length);

    for (int enemiesRemainingToSpawn = currentWaveNumber ; enemiesRemainingToSpawn > 0;enemiesRemainingToSpawn -- , enemiesRemainingAlive ++)
    {
        print("enemies spawning" + enemiesRemainingToSpawn);
        print("enemies alive" + enemiesRemainingAlive);
    }
}

输出结果是敌人的剩余生命持续上升,因为敌人的剩余生命不会下降,从而陷入了无休止的循环。 missingtospawn = 1,敌人剩余生命++

嗨,我尝试通过排除对象在本地运行代码。

  public static void spawnEnemies() { int enemiesRemainingAlive = 0; double afterWavePrepTime = 5.0; bool isWaveFinished = false; bool startNewWave = false; int currentWaveNumber; Random x = new Random(); currentWaveNumber = x.Next(1, 7); for (int enemiesRemainingToSpawn = currentWaveNumber; enemiesRemainingToSpawn > 0; enemiesRemainingToSpawn--, enemiesRemainingAlive++) { Console.WriteLine("enemies spawning" + enemiesRemainingToSpawn); Console.WriteLine("enemies alive" + enemiesRemainingAlive); } Console.ReadLine(); } //out put // enemies spawning2 //enemies alive0 //enemies spawning1 //enemies alive1 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM