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

Auteur Sujet: [SFML 1.6] Problèmes avec les vues  (Lu 2214 fois)

0 Membres et 1 Invité sur ce sujet

Booba110

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
[SFML 1.6] Problèmes avec les vues
« le: Mai 02, 2012, 12:07:34 pm »
Bonjour!

Je suis actuellement en train de développer un casse brique (qui est déjà pas mal avancé) et je rencontre un problème avec les vues.
Je m'explique :
Mon jeu s'ouvre dans une fenêtre de dimension 900x600.
La map s'affiche dans la partie gauche de la fenêtre d'une dimension de 690x600 (une map étant un tableau de 23x20 cases pour une dimension de 30px x 30px chacune). Et la bande a droite (de 210x600) est réservé a l'interface.

Le tout est pour le moment affiché dans la vue par défaut de ma fenêtre.

Mais maintenant je souhaiterai ajouter différents effets au jeu (zoom/dézoom, scrolling) (sans en affecter l'interface).
J'aimerais donc créer une vue de 690x600 dans laquelle j'afficherai uniquement la map (je souhaiterais que la vue n'englobe pas toute la fenêtre). L'interface sera toujours afficher dans la vue par défault.

J'ai donc essayé de modifier mon code de différente facon :

sf::View       _GameView;
sf::Vector2f   Center(345, 300);
sf::Vector2f   HalfSize(345, 300);
_GameView.SetCenter(Center);
_GameView.SetHalfSize(HalfSize);

et également ainsi qui fournit le meme rendu

_GameView.SetFromRect(sf::FloatRect(0, 0, 690, 600));

puis l'affichage

this->_window->SetView(_GameView);
//affichage du joueur
//affichage du level
this->_window->SetView(this->_window->GetDefaultView());
//affichage de l'interface
this->_window->Display();

Mais avec cet ajout de code ma vue englobe toute la fenêtre.

J'ai beaucoup cherché cette nuit, j'ai bidouillé pendant longtemps mais je n'ai toujours pas trouvé!
J’espère que quelqu'un pourras m'aider je suis complétement perdu!

Merci d'avance!

[attachment deleted by admin]

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 1.6] Problèmes avec les vues
« Réponse #1 le: Mai 02, 2012, 12:25:28 pm »
La vue prend toujours toute la fenêtre. Tout ce que tu peux modifier c'est le morceau de ta scène qu'elle va afficher -- si c'est plus petit que la fenêtre ce sera donc forcément étiré.

Il ne faut pas essayer de découper ta fenêtre en plusieurs parties, affiche simplement l'interface par dessus le jeu, de façon à cacher tout ce qui dépasse.

Sinon, passe à SFML 2 qui permet de définir la zone de la fenêtre dans laquelle une vue s'affiche.
Laurent Gomila - SFML developer

Booba110

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [SFML 1.6] Problèmes avec les vues
« Réponse #2 le: Mai 02, 2012, 04:19:09 pm »
Ok merci je vais donc passer à la SFML 2, car le problème ensuite sera de zoomer sur le centre de ma vue et non de ma fenêtre.

 

anything