jueves, 2 de abril de 2015

Minimapa en SFML


Descargar Assets para este proyecto


#include <SFML\Graphics.hpp>

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

 //Creo una textura para el fondo
 sf::Texture fondo;

 if (!fondo.loadFromFile("mapa.jpg"))
 {
  //errores
 }

 //Declaro 2 Sprites con la misma textura de fondo una servira para toda la pantalla
 //y la otra para el minimapa
 sf::Sprite bg1;
 bg1.setTexture(fondo);
 sf::Sprite bg2;
 bg2.setTexture(fondo);

 //Declaro la vista principal del juego y tamaño completo
 sf::View vistaJuego = window.getDefaultView();
 vistaJuego.setViewport(sf::FloatRect(0, 0, 1, 1));
 
 //Establesco las medidas del minimapa, dandole un zoom
 sf::View miniMapa(sf::FloatRect(0, 0, window.getSize().x / 2, window.getSize().y));
 miniMapa.setSize(1120, 1280);
 miniMapa.zoom(1);
 miniMapa.setViewport(sf::FloatRect(0.75f, 0, 0.25f, 0.25f));

 //GameLoop
 while (window.isOpen())
 {
  window.clear();
  //muestro mis vistas
  window.setView(vistaJuego);
  window.draw(bg1);
  window.setView(miniMapa);
  window.draw(bg2);
  
  //Evento Salir
  sf::Event event;

  while (window.pollEvent(event))
  {
   if (event.type == sf::Event::Closed)
   {
    window.close();
   }
  }

  window.display();
 }

 return 0;
}



No hay comentarios:

Publicar un comentario