[英]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.