簡體   English   中英

如何在 C# 中插入“if”語句? [等候接聽]

[英]How do I thread in “if ” statements in C#? [on hold]

我正在嘗試在 C# 中制作賽車游戲。 我有敵車向你駛來,當他們 go 從你身邊經過時,另一輛車會立即生成。 我希望它有 1 秒的延遲。

我試過使用Thread.Sleep(1000); System.Threading.Thread.Sleep(1000); (即使我認為這些是相同的東西)。

我目前的代碼是:

if (EnemyCar1.Top >= 500)
    {
       e_X = enemyPos.Next(5, 200);
       e_Y = enemyPos.Next(5, 395);
       EnemyCar1.Location = new Point(e_X, e_Y);
       System.Threading.Thread.Sleep(1000);
    }

當我嘗試穿線時,它會暫停整個游戲,我什么也不能移動。

我希望它只線程化一種方法,但它實際上暫停了游戲中的所有內容,這不是我想要的。

我認為目前這行不通。 因為您在 UI 線程上執行 Sleep Function。

如果您為每輛汽車創建一個線程,那么您可以讓汽車“休眠”。

順便說一句:考慮使用任務

您可以使用 System.Diagnostics.Stopwatch 並將 spawn 綁定為在達到 1 秒時發生的事件。 秒表是自動穿線的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM