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

Auteur Sujet: Sprite  (Lu 1853 fois)

0 Membres et 1 Invité sur ce sujet

harveyzburger

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Sprite
« le: Octobre 30, 2014, 01:30:51 pm »
Salut tout le monde,

J'ai une question par rapport aux sprite. Prenons par exemple le sf::Mouse::getPosition(window).x, nous sommes capable de savoir la position de la souris dans le window ouvert mais comment faisons - nous pour avoir la position du sprite dans le window qu'on a ouvert ?

Merci d'avance.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Sprite
« Réponse #1 le: Octobre 30, 2014, 01:32:54 pm »
La position d'un sprite c'est toi qui la définit, avec sprite.setPosition, donc a priori tu la connais non ?
Laurent Gomila - SFML developer

harveyzburger

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re : Sprite
« Réponse #2 le: Octobre 30, 2014, 01:35:27 pm »
Je la set effectivement au début, mais je le fait bouger (hauteur, gravité) alors comment faire pour savoir sa position dans le window, car le getPosition normal me donne sa position dans l'écran au complet.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Sprite
« Réponse #3 le: Octobre 30, 2014, 01:46:02 pm »
La position "dans la scène" et la position "dans la fenêtre" sont les mêmes tant que :
- tu n'utilises pas une vue (sf::View) particulière
- tu ne redimensionnes pas la fenêtre

Dans le cas contraire, il faut utiliser la fonction window.mapCoordsToPixel. Mais c'est bizarre de vouloir récupérer une telle information, d'habitude c'est la position de la souris qu'on transforme en coordonnées "scène" (avec window.mapPixelToCoords) pour ensuite faire des tests sur les différentes entités affichées.
Laurent Gomila - SFML developer

harveyzburger

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re : Sprite
« Réponse #4 le: Octobre 30, 2014, 02:04:38 pm »
J'utilise une view qui bouge à la même vitesse que mon sprite mais en arrière de ma window j'ai une structure, une map de 1000 colonne de long mais quand mon sprite bouge je réussit pas à récupéré la bonne colonne où mon sprite est.

Par exemple, avec ma souris à la colonne 5 (colonne de 100px de large), j'ai placé un obstacle (sf::Mouse::getPosition(window).x) mais vue que la position de mon sprite n'est pas dans les dimensions de mon window (1000,650) je réussis pas à détecter la bonne colonne...  >:(

C'est pourquoi j'ai besoin de la position de mon sprite dans le renderwindow window que j'ai ouvert.

Mris

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
    • E-mail
Re : Sprite
« Réponse #5 le: Novembre 16, 2014, 03:11:29 pm »
lorsque ton personnage bouge dans ton monde le fond bouge lui aussi donc pour trouver la position de ton personnage relativement a ta fenêtre tu doit soustraire a la position de la view principal la position de la view centrer sur ton personnage
ou alors tu fais un jolie croquis de ta fenêtre en mouvement et de celle virtuel tu pourras calculer

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Sprite
« Réponse #6 le: Novembre 16, 2014, 06:54:39 pm »
Non mieux vaut utiliser la fonction donnée par Laurent.