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

Auteur Sujet: [Résolu] Redimensionnement  (Lu 2832 fois)

0 Membres et 1 Invité sur ce sujet

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
[Résolu] Redimensionnement
« le: Juin 14, 2012, 06:26:08 pm »
Bonjour,
J'ai intégré un rendu SFML à une fenêtre Qt, comme le montre le tutoriel.
Mais j'ai un problème:
Quand je redimensionne la fenêtre Qt, et donc, que je redimensionne le rendu SFML, l'affichage se décale, et donne l'air d'être écrasé.
Je ne sais pas trop quoi modifier du coté de la SFML, j'ai essayé de changer la taille de la fenètre, ça ne change rien.
J'ai aussi changé la taille de la caméra (avec SetHalfSize) et ça ne change rien.
Par exemple, j'affiche les FPS en haut a droite de l'écran, si je réduis la fenêtre, l'affichage des FPS se retrouve de plus en plus vers le milieu.
Je voudrais qu'ils restent a leurs place sur le rendu même après le redimensionnement, finalement, je voudrais juste que le champ de vision augmente ou diminue, et que mes objets (crées à chaque image) se replacent correctement par rapport à la nouvelle taille.
Par exemple, un objet placé au milieu sera crée a la position:
GetWidth() /2;GetHeight() / 2
Même crée à chaque image, actuellement il ne reste pas au milieu, il se décale en changeant la taille de la fenêtre.
Donc, en diminuant légèrement la taille de la fenêtre, le bord droit se retrouve décalé de 300px, puis plus on réduit, et plus il est décalé, pareil pour le bas.
Et en dehors d'être décalé, il paraît aplatit, que ce soit un texte ou une image...

Comment faire?
Merci :)
« Modifié: Juin 14, 2012, 09:30:45 pm par Crone123 »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Redimensionnement
« Réponse #1 le: Juin 14, 2012, 06:56:02 pm »
Avec SFML 1.6 je ne peux pas te dire ni faire de tests, il faudrait que tu essayes avec SFML 2.0.
Laurent Gomila - SFML developer

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : Redimensionnement
« Réponse #2 le: Juin 14, 2012, 08:54:21 pm »
Le problème étant que le projet utilise la 1.6 et que ça m'étonnerais qu'il supporte le changement de bibliothèque (il faudrait changer pleins de trucs non?)
Et je suis sous Ubuntu, et dans les dépôts, c'est la 1.6 qui est disponible...

En fait je crois savoir d'où ça viens:
-> Mes objets et textes s'affichent correctement avec mon objet Camera.
-> Mes objets et textes s'affichent n'importe comment avec le caméra de GetDefaultView() après redimensionnement.
En fait, le bug doit venir de GetDefaultView, cette caméra ne doit pas être mise a jour automatiquement.
Existe t-il un moyen de la mettre a jour, ou bien je dois créer une caméra qui la remplacera?
Merci :)

EDIT: Pourquoi avoir mis tous les noms de la 2.0 en minuscules? Sur la 1.6 c'était pratique qu'ils soient avec leurs première lettre en majuscule, ça permettait de faire la différence Qt/SFML et de ne pas avoir de conflits.

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : Redimensionnement
« Réponse #3 le: Juin 14, 2012, 09:30:13 pm »
C'est résolu !
Effectivement, en remplaçant la caméra par défaut par une caméra par défaut perso, ça corrige le problème :)
Et j'ai au passage découvert que pour la caméra, pour SetHalfSize il faut mettre la moitié de la longueur voulue.
(Il doit considérer 1 coté de la caméra)
C'est pour ça qu'en mettant GetWidth() et GetHeight() il fallait mettre un zoom a 2 pour voir normalement.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolu] Redimensionnement
« Réponse #4 le: Juin 14, 2012, 10:36:35 pm »
Citer
Et j'ai au passage découvert que pour la caméra, pour SetHalfSize il faut mettre la moitié de la longueur voulue.
D'où le nom... :P
Laurent Gomila - SFML developer

Crone123

  • Full Member
  • ***
  • Messages: 141
    • Voir le profil
Re : [Résolu] Redimensionnement
« Réponse #5 le: Juin 14, 2012, 10:38:32 pm »
Ah oui, Half = moitié, c'est bon a savoir :D
(Je suis en seconde, j'ai pensé Half = Dimensions, ou Longueurs :) )