Bonjour,
Je me suis mis hier a la programmation avec la SFML mais je bloque sur un petit souci.
Je souhaite faire bouger la vue pour afficher une carte composé de tuile. Mais seulement mon code ne fonctionne pas. Avez vous des solutions ?
#include <SFML/Graphics.hpp>
#include "Carte.h"
int main()
{
sf::RenderWindow window(sf::VideoMode(700, 700), "SFML works!");
Carte carte("map2.txt", window);
sf::FloatRect visibleArea(0, 0, window.getSize().x, window.getSize().y);
sf::View view(visibleArea);
window.setView(view);
carte.ajusterTailleFenetre();
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed){
window.close();
}
if (event.type == sf::Event::Resized){
carte.ajusterTailleFenetre();
sf::FloatRect visibleArea(0, 0, event.size.width, event.size.height);
view.reset(visibleArea);
window.setView(view);
}
if (event.type == sf::Event::KeyPressed){
if(sf::Keyboard::isKeyPressed(sf::Keyboard::R)){
std::string carteACharge = carte.fichierMapActuelle() == "map2.txt" ? "map1.txt" : "map2.txt";
carte.charger(carteACharge);
carte.ajusterTailleFenetre();
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
view.move(10, 0);
std::cout << "Right arrow pressed !" << std::endl;
}
}
} // Fin boucle event
window.clear();
carte.dessiner(window);
window.display();
}// Fin boucle fenêtre ouverte
return 0;
}
Merci d'avance et bonne soirée