本文整理汇总了C++中timer::TimerInit方法的典型用法代码示例。如果您正苦于以下问题:C++ timer::TimerInit方法的具体用法?C++ timer::TimerInit怎么用?C++ timer::TimerInit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类timer
的用法示例。
在下文中一共展示了timer::TimerInit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WinMain
int WINAPI WinMain(HINSTANCE hInstance, // Instance
HINSTANCE hPrevInstance, // Previous Instance
LPSTR lpCmdLine, // Command Line Parameters
int nCmdShow) // Window Show State
{
MSG msg; // Windows message Structure
bool done = false;
if (MessageBox(NULL, "Would You Like To Run In Fullscreen Mode?", "Start FullScreen?", MB_YESNO | MB_ICONQUESTION) == IDNO)
{
fullscreen = false; // Windowed Mode
}
// Create Our OpenGL Window
if (!CreateGLWindow("pokemon", 640, 480, 16, fullscreen))
{
return 0; // Quit If Window Was Not Created
}
arrow.Init(20, 20);
player.Init(20, 20, 0);
Timer = Timer.TimerInit();
// 음악 로딩
for (loop1 = 0; loop1 < NUM_BGM; loop1++) {
BGM[loop1] = LoadMP3(hWnd, path_BGM[loop1]);
}
BGM[0] = mciSendCommand(1, MCI_PLAY, MCI_NOTIFY, (DWORD)(LPVOID)&mciPlay);
CountLoop = 0;
while (!done) // Loop That Runs While done=FALSE
{
TranslateMessage(&msg);
DispatchMessage(&msg);
// Is There A Message Waiting?
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT) // Have We Received A Quit Message?
{
done = true;
}
else // If Not, Deal With Window Messages
{
TranslateMessage(&msg); // Translate The Message
DispatchMessage(&msg); // Dispatch The Message
}
}
else // If There Are No Messages
{
float start = Timer.TimerGetTime(); // Grab Timer Value Before We Draw
// Draw The Scene. Watch For ESC Key And Quit Messages From DrawGLScene()
if ((!DrawGLScene() && active) || keys[VK_ESCAPE]) // Active? Was There A Quit Received?
{
done = true; // ESC or DrawGLScene Signalled A Quit
}
else // Not Time To Quit, Update Screen
{
SwapBuffers(hDC); // Swap Buffers (Double Buffering)
}
while (Timer.TimerGetTime() < start + float(steps[adjust] * GAMESPEED * 1.0f)) {} // Waste Cycles On Fast Systems
if (keys[VK_F1]) // Is F1 Being Pressed?
{
keys[VK_F1] = false; // If So Make Key FALSE
KillGLWindow(); // Kill Our Current Window
fullscreen = !fullscreen; // Toggle Fullscreen / Windowed Mode
// Recreate Our OpenGL Window
if (!CreateGLWindow("pokemon", 640, 480, 16, fullscreen))
{
return 0; // Quit If Window Was Not Created
}
}
if (active) // If Programs Active Move Objects
{
if (interrupt)
{
// 인트로로 인한 게임 정지
if (intro)
{
Map.map_number = animation;
// 추가 입력 받으면 게임 시작
if (CountLoop > LENGTH && keys['Z'])
{
mciSendCommand(1, MCI_STOP, MCI_NOTIFY, (DWORD)(LPVOID)&mciPlay);
mciSendCommand(4, MCI_PLAY, MCI_NOTIFY | MCI_DGV_PLAY_REPEAT, (DWORD)(LPVOID)&mciPlay);
nowplaying = 4;
interrupt = false;
intro = false;
// 게임 셋팅
Map.IsMap = true;
Map.Loading_Map(map_DB[2]);
//211033
player.SetObjects(11, 4);
Map.map_number = 2;
animation = 0;
CountLoop = LENGTH;
}
//.........这里部分代码省略.........