簡體   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