設定了定時器,不知道如何暫停的時候把定時器也一起暫停
uj5u.com熱心網友回復:
推箱子游戲VC6源代碼 倉庫番游戲VC6源代碼 http://download.csdn.net/detail/zhao4zhong1/3230945uj5u.com熱心網友回復:
謝謝,但是我需要具體解決方法……
uj5u.com熱心網友回復:
直接KillTimer,重新開始時再SetTimer,具體引數查閱MSDNuj5u.com熱心網友回復:
定時器沒有辦法暫停,不過可以KillTimer殺掉定時器,然后繼續的時候,重新SetTimer創建定時器uj5u.com熱心網友回復:
可以定義一個變數,比如:bool m_pause;
在開始游戲的時候置為true:
m_pause=false;
SetTimer(...);
在OnTimer()里:
if(!m_pause)
process_my_task();
這樣,在暫停的時候,直接置m_pause為true就可以了
重新開始的話,需要兩部分的操作:
1. 置m_pause為true
2. 復位所有的游戲變數
3. 置m_pause為false
其實更好的方法是新定義一個變數,比如bool m_rest,在開始游戲的時候置為false:
m_pause=false;
m_reset=false;
SetTimer(...);
在OnTimer()里:
if(m_reset)
{
reset_all_things();
m_reset=false;
}
if(!m_pause)
process_my_task();
在需要重新開始的時候,只需要:
m_reset=true;
就行了
uj5u.com熱心網友回復:
你在你的游戲幀處理函式里最開頭加一個靜態變數判斷是否暫停:
若它是true,直接return;
否則執行函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127757.html
標籤:基礎類
上一篇:用VS2010mfc實先點對點通信,用服務器做中轉,兩個客戶端間的點對點檔案傳輸
下一篇:MFC多執行緒訊息通信
