Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Résolu] Problème avec la vue  (Lu 1465 fois)

0 Membres et 2 Invités sur ce sujet

PowerFullKnight

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
[Résolu] Problème avec la vue
« le: Décembre 30, 2013, 07:18:25 pm »
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 :)
« Modifié: Décembre 30, 2013, 09:19:30 pm par PowerFullKnight »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème avec la vue
« Réponse #1 le: Décembre 30, 2013, 08:51:24 pm »
Set ta view juste avant de draw les trucs que tu veux dessus.

PowerFullKnight

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : Problème avec la vue
« Réponse #2 le: Décembre 30, 2013, 09:18:49 pm »
Merci beaucoup, ça marche maintenant :D

 

anything