IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

WinForms et DirectInput, le bon mariage?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Par défaut WinForms et DirectInput, le bon mariage?
    Bonjour à tous!

    Je suis actuellement en train de développer une application WinForms qui nécessite un Joystick (via DirectInput).
    Pour ce qui est de la gestion de ce dernier, je n'ai pas de problème. Mais je voudrais savoir si il y a une bonne facon de gérer DirectInput. Pour l'instant, j'ai un thread séparé du form qui fait des poll.

    Je trouve cela plutot barbar comme solution et j'aurais voulu savoir si il y avait mieux adapté, voir au meilleur des cas, la possibilité de gérer le joystick de facon événementielle.

    J'en appel donc à vos conseils et avis. Merci d'avance!


    PS: désolé si je me suis trompé de section, j'ai hésité entre winform et directx. Que les modos n'hésitent pas à déplacer si sa place n'est pas juger etre la bonne.

  2. #2
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Héhé, c'est plus complexe qu'on pourrait l'imaginer hein?

    Et bien voilà, un joystick ça fonctionne d'une façon telle que tu dois demander à directInput de mettre à jour l'état des boutons (Cette fameuse fonction poll). Tu ne peux accéder aux infos joysticks que par des pull (ce n'est pas du push).

    Tu ne peux pas véritablement les gérer par évènement, le fait que d'une lecture du statut d'un bouton à l'autre, l'état du bouton peut avoir changé ou être resté le même, et suivant que c'est le cas ou non tu peux interpréter la chose différemment.

    Bon c'est bien plus complexe que cela, mais un jeu c'est typiquement une sorte de boucle infinie qui contient la logique du jeu et dans laquelle on teste a la fois l'input ainsi que la durée qui s'est écoulée depuis le précédent appel (question de synchro). On peut alors déterminer combien de temps un bouton ou un axe reste enfoncé, et cela permet de gérer le fait par exemple dans un jeu de plate-forme qu'une petite touchette du bouton génère un petit saut, alors qu'une frappe plus ferme en génère un grand.

    Bon si tu n'as besoin que des boutons et que tu ne tiens pas compte de la durée des pressions tu pourrais créer et lancer tes propres évènements pour que ton UI ait une approche *passive*.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Par défaut
    Merci pour ta réponse.

    Oui, je comprend la logique pour un jeu.

    J'ai regardé un peu la facon de créer et soulever des événements, et, fondamentalement, ca reviendrait au meme, faire des poll en boucle et comparer l'état pour lancer l'événement.

    C'est surtout des stick que j'ai besoin.

    Ce n'est pas trop barbar de faire une boucle de poll avec un wait pour eviter la surchage CPU? Je trouve ca assez dégueulasse . D'un coté, je n'ai pas l'impression qu'il y ai une autre facon.

  4. #4
    Membre éprouvé
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Par défaut
    Sans savoir exactement ce dont tu as besoin, il est peut être possible de se servir d'un timer si cela peut alléger le code et éviter de faire sleeper un thread.

Discussions similaires

  1. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  2. initialisation Directinput avec delphi
    Par Madmaxx dans le forum DirectX
    Réponses: 1
    Dernier message: 21/02/2003, 17h37
  3. Existe t 'il un bon générateur d'état WEB ?
    Par plichtal dans le forum Autres outils décisionnels
    Réponses: 2
    Dernier message: 10/01/2003, 14h31
  4. [SWT] Un bon coin ou trouver des infos pratik
    Par yolepro dans le forum SWT/JFace
    Réponses: 8
    Dernier message: 04/12/2002, 14h08
  5. DirectInput et C++ Builder3
    Par rockbiker dans le forum DirectX
    Réponses: 3
    Dernier message: 18/09/2002, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo