2011-05-07 135 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