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

Auteur Sujet: SFML et gestion des évènements  (Lu 2500 fois)

0 Membres et 1 Invité sur ce sujet

Black Templar

  • Newbie
  • *
  • Messages: 45
    • Live Messenger (MSN) - ferdipiette@hotmail.com
    • Voir le profil
    • E-mail
SFML et gestion des évènements
« le: Novembre 12, 2012, 11:25:21 am »
Bonjour à tous,

Je souhaiterai refaire un gestionnaire d’événements pour SFML, un peu à la javascript.
C'est à dire que j'aimerais organiser tout ce qui est affiché à l'écran sous la forme d'un arbre de parenté. Les enfants étant affichés par dessus les parents. Chacun de ces éléments seraient à l'écoute d’événements (mouse up/down, focus/blur, mouse enter/leave, etc.)

Lorsqu'un événement se déclenche pour l'un de ces objets, il exécute les fonctions callbacks que l'utilisateur aura associés à celui-ci (listeners).

J'aimerai faire une propagation d’événement à la javascript, c'est à dire, avoir une phase de capture que déclenchera certains listeners de la racine (écran global) aux feuilles (enfants) ainsi qu'une phase de bubbling qui fera remonter l’événement d'une feuille vers la racine.


Ce gestionnaire d'événement à plusieurs avantages par rapport à la gestion classique des événements via SFML :
  • Avoir un code plus lisible : fini l'énorme switch pour interpréter l'événement reçu ! Le gestionnaire d'événement s'occupera de déclencher automatiquement les bons callback
  • Simplifier les événements plus complexes : l'événement focus sera automatiquement géré, etc.
  • Cela permettra simplifier le développement de bibliothèques graphiques GUI (avec la gestion des callback, du focus, etc., il sera très simple de gérer des boutons, des textbox, de coder une console, etc.)[\li]
Le but ici, n'est pas de refaire une bibliothèque GUI, mais de simplifier la gestion des événements sous SFML.
C'est tout de même plus simple à mon sens, dans un jeu, d'avoir un coffre au trésor sur lequel on écoute l'événement 'onClick' et qui déclenche automatiquement la bonne fonction lorsque l'on clique sur cet objet :)


Ma question, c'est est-ce que ça a déjà été codé pour SFML ?
Parce que si ça a déjà été fait, ça ne sert à rien que je réinvente la roue ^^ :)

Sinon, je pourrais alors commencer à penser comment je vais faire ça (est-ce que le gestionnaire d'événement doit gérer tous les sprites ou alors juste les objets héritant de clickable ? etc.)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : SFML et gestion des évènements
« Réponse #1 le: Novembre 12, 2012, 11:36:12 am »
A ma connaissance ça n'existe pas. Il y a plus ou moins des concepts similaires qui ont été implémentés dans les bibliothèques de GUI, mais personne n'a jamais généralisé le concept.
Laurent Gomila - SFML developer

Black Templar

  • Newbie
  • *
  • Messages: 45
    • Live Messenger (MSN) - ferdipiette@hotmail.com
    • Voir le profil
    • E-mail
Re : SFML et gestion des évènements
« Réponse #2 le: Novembre 12, 2012, 11:37:30 am »
Ok, ça marche.

Je continue à faire mes recherche, mais de mon côté non plus, je n'ai rien trouvé.
Du coup, je pense que je vais me faire plaisir à coder tout ça :)

EDIT : par contre, aucune discussion sur le forum ne remonte avant 2012 Oo
Pourtant j'étais sur que le forum était déjà bien actif en 2007  :P
« Modifié: Novembre 12, 2012, 11:44:33 am par Black Templar »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : SFML et gestion des évènements
« Réponse #3 le: Novembre 12, 2012, 12:26:41 pm »
Quand a eu lieu le changement de forum, les posts du forum français n'ont pas pu être vraiment transférés ou genre, mais il y a un lien pour lire les anciens posts en lecture seule si besoin est. ;)