上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
npcgamer 時常出沒的會員
註冊時間: 2007-11-02 文章: 47
3.00 果凍幣
|
發表於: 2008-1-15, PM 1:29 星期二 文章主題: [分享] 遊戲描繪機制 |
|
|
很實用、常常用得到的...
代碼: | // 訊息迴路
MSG msg = {0};
while (msg.message != WM_QUIT)
{
if(PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
// 描繪機制
static DWORD RefreshTime = 10; // 更新描繪週期 = 10 ms
static DWORD time1 = timeGetTime(); // 時間點 (左區間)
static DWORD time2 = time1 + RefreshTime; // 時間點 (右區間)
static DWORD time; // 時間點 (目前時間)
time = timeGetTime();
if (time1 <= time && time < time2)
{
time1 = time2; time2 += RefreshTime;
RenderProc(); // 你的描繪程序
}
else if (time2 <= time)
{
time1 = time2; time2 += RefreshTime;
}
else
{
time = time1 - time;
Sleep(time);
}
}
} |
|
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-1-15, PM 9:07 星期二 文章主題: Re: [分享] 遊戲描繪機制 |
|
|
哦哦,很不錯的遊戲繪圖迴圈,感謝提供。 |
|
回頂端 |
|
|
npcgamer 時常出沒的會員
註冊時間: 2007-11-02 文章: 47
3.00 果凍幣
|
發表於: 2008-2-19, AM 8:13 星期二 文章主題: |
|
|
在 Direct3D 的 D3DPRESENT_PARAMETERS 參數中
PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT
將以螢幕更新同步,可省掉畫面控制的程序。 |
|
回頂端 |
|
|
|