viernes, 24 de abril de 2015

Manejando multiples eventos en SFML


#include <SFML\Graphics.hpp>

int main()
{
 //Creo mi ventana
 sf::RenderWindow window(sf::VideoMode(640 , 480), "Manejando Multiples Eventos");
 window.setFramerateLimit(60);

 //GameLoop
 while (window.isOpen())
 {
  window.clear();
  
  //Eventos
  sf::Event event;

  while (window.pollEvent(event))
  {
   //Creo una sentencia switch para controlar muchos eventos
   switch (event.type)
   {

   //Cierra la ventana
   case sf :: Event::EventType::Closed:
    window.close();
    break;

   //Cuando presiones y mantienes la barra espaciadora cambiara de titulo de la ventana
   case sf :: Event::EventType::KeyPressed:
    if (event.key.code == sf::Keyboard::Space)
    {
     window.setTitle("Presionaste la barra espaciadora");
    }

    break;

   //Cuando sueltes la barra espaciadora cambiara de texto nuevamente
   case sf::Event::EventType::KeyReleased:
    if (event.key.code == sf::Keyboard::Space)
    {
     window.setTitle("Soltaste la barra espaciadora");
    }

    //Si presionas y sueltas Escape se cerrara la ventana
    else if (event.key.code == sf::Keyboard::Escape)
    {
     window.close();
    }

    break;

   default:
    break;
   }
  }

  window.display();
 }

 return 0;
}






No hay comentarios:

Publicar un comentario