2011-05-07 139 views
0

我試圖做一個簡單的遊戲,使用C++和OpenGL,我一直沒能找到任何好的教程創建一個簡單的刻度或計時器系統的遊戲,我也想使用盡可能少的外部圖書館。 任何幫助表示讚賞。我使用Win32和C :: B IDE ... MingW編譯器。C++ OpenGL遊戲計時器

+1

Code :: Blocks不是一個編譯器,它是一個IDE。 – kiw 2011-05-07 02:15:51

回答

0

看看boost::date_time

+0

什麼是提升:「( – 2011-05-07 02:30:34

+0

@I Phantasm I它是第三方的開源C++庫。請參閱http://boost.org。 – Maxpm 2011-05-07 02:42:59

2

你試過:

void glutTimerFunc(unsigned int msecs, void (*func)(int value), value); 
+0

嘿感謝您的幫助,但我不使用過量 – 2011-05-07 02:22:44

0

你可以嘗試QueryPerformanceCounterQueryPerformanceFrequency如果你想它的超精確。

編輯:我認爲文檔非常充分,您可以獲得計時器滴答計數和計時器的頻率。但無論如何,這裏是一個例子:

未經測試,但應該給你的想法。

int main(int argc, char *argv[]) 
{ 
    LARGE_INTEGER freq; 
    LARGE_INTEGER start; 
    LARGE_INTEGER current; 
    double t; 

    QueryPerformanceFrequency(&freq); // initialize frequency 
    QueryPerformanceCounter(&start); // initialize start time 

    while (!terminated) // game main loop 
    { 
    QueryPerformanceCounter(&current); // get current time 
    t = (end.QuadPart - start.QuadPart)/(double)freq.QuadPart; // transform to seconds 

    /* do stuff here with t */ 
    } 

    return 0; 
} 

你也可以使用任何64位整數類型,而不是LARGE_INTEGER,但是這是他們打算如何吧。

+0

非常感謝的例子,我將不得不看看這些功能更多 – 2011-05-07 03:36:53