Example #1
0
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