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]