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

Auteur Sujet: [SFML 2.0]Redimensionner sans zoomer [Résolu]  (Lu 4339 fois)

0 Membres et 1 Invité sur ce sujet

Chaore

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
[SFML 2.0]Redimensionner sans zoomer [Résolu]
« le: Août 01, 2012, 03:02:43 am »
Bonjour,

Étant un ancien utilisateur de la SDL, j'ai aujourd'hui changé toutes les fonctions de mon code pour le faire fonctionner avec SFML.

Je dois dire que je suis très heureux des fonctionnalités offerts par cette bibliotèque.  Mais voilà que je suis confronté à un problème.

Lorsque je redimensionne ma fenêtre, je récupère le Vector2i laissé en retour par sf::Mouse::getPosition pour pouvoir l'utilisé comme paramètre pour dessiner un rectangle.  De ce côté aucun problème, cependant, la SFML prend l'initiative de faire un zoom/dézoom  par elle-même alors que je n'ai pas besoin de cette fonctionalité.  Alors je me demendais si il n'y avait pas une fonction ou un paramètre pour empêcher que cela se produise.


Côté recherche, j'ai regardé ici: http://www.sfml-dev.org/documentation/2.0/classsf_1_1RenderWindow.php

Donc, je ne vois qu'une seule solution, devoir créer une vue qui va s'ajuster en fonction des paramètres reçus pour ne pas faire de zoom.  Mais j'aimerais vraiment ne pas avoir à le faire.  Alors si vous avez la solution/suggestion, j'en serais heureux.


Bonne soirée/nuit.
Chaore.


EDIT:  Je viens de voir que avec sf::RenderWindow::DefaultGetView()  je peux obtenir la vue par défault, sauf que mon problème reste que j'aimerais me passer de devoir créer un objet view.
« Modifié: Août 01, 2012, 04:02:34 pm par Chaore »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0]Redimensionner sans zoomer
« Réponse #1 le: Août 01, 2012, 08:08:05 am »
C'est pas si dramatique que ça en a l'air.

case sf::Event::Resized:
    window.setView(sf::View(sf::FloatRect(0, 0, event.size.width, event.size.height)));
    break;

La vue par défaut va produire un zoom, donc il faut que tu utilises une autre vue, qui elle s'adapte à la nouvelle taille de la fenêtre.
Laurent Gomila - SFML developer

Chaore

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
Re : [SFML 2.0]Redimensionner sans zoomer
« Réponse #2 le: Août 01, 2012, 01:46:33 pm »
D'accord je vois.

Et bien merci !