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

Auteur Sujet: [Résolu] Problème sf::View  (Lu 1672 fois)

0 Membres et 1 Invité sur ce sujet

bibouchoule

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
    • E-mail
[Résolu] Problème sf::View
« le: Juillet 17, 2014, 01:53:10 am »
Bonsoir !

Je suis actuellement face à un problème que je n'arrive pas à résoudre quoi que je fasse.
J'explique briévement : Aucun changement ne semble s'opérer au niveau visuel lorsque j'utilise le système de vue que propose SFML avec la classe sf::View.

Voici mon code, minimaliste :
void Fenetre::GererInput()
{
    m_Ecran.setKeyRepeatEnabled(true);
    m_Ecran.setView(m_Camera);

    while(m_Ecran.isOpen())
    {
        sf::Event event;
        while(m_Ecran.pollEvent(event))
        {
            switch(event.type)
            {
            case sf::Event::Closed: m_Ecran.close(); break;
            case sf::Event::KeyPressed:               switch(event.key.code)
                                                            {
                                            case sf::Keyboard::Escape: m_Ecran.close(); break;
                                            case sf::Keyboard::Up: m_Camera.move(0.f,-4.f);
                                            OrientationLink = Entity::Haut; m_KeyEntered = true; break;
                                            case sf::Keyboard::Down:m_Camera.move(0.f,4.f);
                                            OrientationLink = Entity::Bas; m_KeyEntered = true; break;
                                            case sf::Keyboard::Left:m_Camera.move(-4.f,0.f);
                                            OrientationLink = Entity::Gauche; m_KeyEntered = true; break;
                                            case sf::Keyboard::Right:m_Camera.move(4.f,0.f);
                                            OrientationLink = Entity::Droite; m_KeyEntered = true; break;
                                            case sf::Keyboard::R: m_Camera.rotate(45.f);  break;
                                            default:  break;
                                                            }
            default: break;
            }

        }
        m_Ecran.display();
             }
}
 

Et pour petite précision : J'initialise ma sf::View avec : sf::View::reset(sf::FloatRect(x,x,x,x)); dans le constructeur de ma classe fenêtre et je réalise toute une série de m_Ecran.draw(x) pour charger une map avant de faire appel à cette fonction GererInput();

Cordialement et merci par avance à ceux qui prendront le temps de m'aider.
« Modifié: Juillet 17, 2014, 12:13:03 pm par bibouchoule »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème sf::View
« Réponse #1 le: Juillet 17, 2014, 02:08:23 am »
Ce que tu fais m'a l'air un peu étrange.

Là tu set ta vue, mais tu draw rien du tout dessus.
Y'a que les trucs qui sont dessinés après le setView qui seront sur cette vue. Tous les trucs que tu as dessinés avant seront dessinés sur la vue précédente (surement la vue par défaut).

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème sf::View
« Réponse #2 le: Juillet 17, 2014, 08:06:24 am »
Relis bien le paragraphe écrit en rouge dans le tutoriel sur les vues...
Laurent Gomila - SFML developer

bibouchoule

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
    • E-mail
Re : Problème sf::View
« Réponse #3 le: Juillet 17, 2014, 12:11:52 pm »
Bonjour !

Merci pour votre réponse rapide et veuillez m'excuser pour ce dérangement...à 2h du mat' j'avais pas les idées très claires...

Merci encore ! :)

Cordialement.