void display(void) { if (!ingame ) { Menu.drawMenu(); } else { //movements handling playerMovement();//player collisons handled inside this function enemyMovement(); //player drawing glPushAttrib(GL_CURRENT_BIT);//keeps players color from changing glColor4f(0.0, 1.0, 0.0,1.0); drawPlayer(); //enemy drawing for (int x=0; x<enemy_size; x++) drawEnemy(enemy[x].getPosition().x, enemy[x].getPosition().y,enemy[x].getRadius()); } glutSwapBuffers();//swap bufferes!!!! Important for animation // glFlush(); }
void Controller::start() { float frameCounter = 0, switchFrame = 100, frameSpeed = 500; sf::Clock clock; sf::Time timeSinceLastUpdate = sf::Time::Zero; timePerFrame = sf::seconds(1.f / 60.f); // Game Loop while (view.getWindow().isOpen()) { sf::Event event; while (view.getWindow().pollEvent(event)) { switch (event.type) { case sf::Event::Closed: view.getWindow().close(); break; default: break; } // end switch } // end while timeSinceLastUpdate += clock.restart(); while (timeSinceLastUpdate > timePerFrame) { timeSinceLastUpdate -= timePerFrame; playerMovement(); } frameCounter += frameSpeed * clock.restart().asSeconds(); if(frameCounter >= switchFrame) { frameCounter = 0; auto player = model.getLevel().getPlayer(); player.setSourceX(player.getSourceX() + 1); }// end if model.updateView(view); } // end while } // end function