2014-07-27 2 views
0

새 스레드를 만들지 않고 Qt 윈도우에서 게임 루프를 실행하려면 어떻게해야합니까?Qt 윈도우 내에서 게임 루프 실행

내 "RunFrame"방법은 다음과 같습니다

void GameWindow::RunFrame() 
{ 
    // Update the game time. 
    gameTime.Update(); 
    timeBehind += gameTime.TotalTime() - lastTime; 
    lastTime = gameTime.TotalTime(); 

    while(timeBehind >= targetTimeStep) 
    { 
     Update(); 
     timeBehind -= targetTimeStep; 
    } 

    Draw(); 
    SwapBuffers(); 
} 

당신이 볼 수 있듯이,이 모든 이벤트 루프라고 점점 것처럼이 실행됩니다. 내 창에서 모든 이벤트 루프라고하는 메서드를 가져올 수있는 방법이 있습니까? 아니면 Qt에서 타이머 주위에 루프를 재 설계해야합니까?

답변

1

QTimer는 작동하고 비교적 간단한 해결책이라고 생각합니다. 밀리 초 해상도를 달성하기 위해 멀티미디어 타이머 (필요시)를 사용하므로 게임 루프에 적합합니다.

+0

예, QTimer가 정상적으로 작동합니다. 감사. – Ben