void ClassDemoApp::UpdateAndRender() { float ticks = (float)SDL_GetTicks() / 1000.0f; float elapsed = ticks - lastElapsedTime; lastElapsedTime = ticks; if (musicTicks < 96) musicTicks += elapsed; Mix_VolumeMusic((int)musicTicks); while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT || event.type == SDL_WINDOWEVENT_CLOSE) { done = true; } else if (event.type == SDL_KEYDOWN) { if (event.key.keysym.scancode == SDL_SCANCODE_RETURN) { if (state != STATE_GAME_LEVEL) { state = STATE_GAME_LEVEL; invaders->Restart(); invaders->score = 0; } } } } switch (state) { case STATE_MAIN_MENU: MainMenuRender(); break; case STATE_GAME_LEVEL: GameLevelUpdate(elapsed); GameLevelRender(); break; case STATE_GAME_OVER: GameOverRender(); break; } }
void GameLoop() { MainMenuRender(); }