搞亂我用秒錶來了解一些操作多久點(遊戲)系統中運行。的Thread.Sleep與秒錶
我定義它是這樣的:
Stopwatch sekunde = new Stopwatch();
long tocke;
long glavnetocke;
long cas;
tocke和glavnetocke是點。
然後在「構造」我需要這樣做:
sekunde.Start();
Thread.Sleep(10000);
sekunde.Stop();
如果我不爲10000,它不會工作做線程睡眠。
後來在事件處理我用這樣的:
sekunde.Start();
viewer.Clear();
viewer.DrawBody(body, 10.0, Brushes.Green, 10.0, Brushes.Green);
sekunde.Stop();
cas = (long)sekunde.Elapsed.TotalSeconds;
tocke = tocke + ((cas/10));
if (tocke > 200)
{
glavnetocke = glavnetocke + 1;
tocke = 0;
}
觀衆是繪製站在鏡頭前的人的身上。 如果我離開thread.sleep到10000它將工作,否則它不會。但我需要這個消失,因爲它會停止整個程序。即使你只是在我按下按鈕後纔會發生,我需要等待10秒,然後再開始。正在考慮添加加載屏幕,但它不起作用,因爲它凍結了整個程序,所以它不顯示加載gif。
編輯:
良好,因爲你可以看到,「tocke = tocke +((CAS/10)); tocke始終爲0如果刪除了Thread.Sleep或甚至更低的睡眠數是否秒錶需要時間來初始化或什麼? 我想獲得操作運行多長時間到一個長類型變量的時間,所以我可以用它來計算遊戲點數(cas =(long)sekunde.Elapsed.TotalSeconds;)
。
請考慮修改您的問題。你的意思是什麼不起作用?你想實現什麼? – kuskmen
@kuskmen我編輯... – user3029612
它必須沒有任何Thread.Sleep工作。可能是在sekunde.Elapsed.TotalSeconds小於1秒時看?查找已選中的刻度或毫秒 –