CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SFML] Problème d'événement.

Tuxmax
Tuxmax
Niveau 5
25 février 2014 à 21:02:07

Bonjour, je suis actuellement en train de faire un petit jeu avec SFML et j'ai un problème avec les événements.

Je gère les événement de façon normale comme ceci (ce n'est qu'un exemple, mais j'ai quand même le problème):

http://pastebin.com/1R7mtr7R

Si je bouge la molette de la souris et que je traite l'événement qui est appelé (dans ce cas ci, je zoom la view), le même événement est rappelé au bouclage du jeu suivant tant qu'un autre événement n'est pas appelé (par exemple lorsque je bouge la souris).

Cela fait en sorte que si je bouge la molette et que je ne touche plus à rien, la view est zoomé à l'infini... :(

Pourtant, j'ai compilé un autre projet que j'ai pris dans un tutoriel qui apprenait à se servir des view et dans cet exemple, tout fonctionne correctement. Voici le code en question (désolé s'il est un peu long, la gestion des événements est à la ligne 64):

http://pastebin.com/QGmywBiU

Je précise que les deux fichiers sont compilés dans le même environnement avec SFML 2.1

Merci de m'aider ! :)

dezq
dezq
Niveau 7
25 février 2014 à 22:54:03

il faut que t'enleve le 1.f ici:
view.zoom(1.f+event.mouseWheel.delta*0.1f);
car une fois que ta bouger la molette ça zoom avec la valeur "1" à l'infini

view.zoom(event.mouseWheel.delta*0.1f);

cela devrait fonctionner (tu peux augmenter 0.1f si c'est lent), car event.mouseWheel.delta revient à zéro quand on tourne plus la molette non ? je me rappelle plus trop.

aussi du coup ta pas besoin de faire de condition pour zoomer :) ( si j'ai pas dis de conneries en haut )

Pseudo supprimé
Pseudo supprimé 25 février 2014 à 23:22:10

C'est pas ça. Un zoom avec un facteur de 1 ça ne fait rien du tout. Un zoom > 1 agrandit la taille de la vue, un zoom < 1 la rétrécit. Ça c'est OK.

Le problème c'est qu'on n'est pas censé mettre de ; avec un while si on veut que son bloc de contenu s'exécute correctement. :-)))

Pseudo supprimé
Pseudo supprimé 25 février 2014 à 23:22:41

"apres" un while, pas "avec"

Tuxmax
Tuxmax
Niveau 5
26 février 2014 à 01:52:39

Ce n'était que ça et je ne sais même pas comment le ";" à pu se retrouver là, je n'en ai jamais mis après un while auparavant :honte:
Comment j'ai pu faire une erreur aussi grotesque :rire:

Merci beaucoup à toi :-)

dezq
dezq
Niveau 7
26 février 2014 à 12:51:45

ah je savais pas c'était un facteur, autant pour moi :x

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment