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

Bibliothèques C++ Discussion :

Utiliser OIS avec la configuration clavier de l'OS?


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut Utiliser OIS avec la configuration clavier de l'OS?
    Salut,

    Je développe actuellement un jeu (MMORTS de programmation) et j'aurais une question.
    Pour commencer le jeu, j'avais d'abord pensé à utiliser Qt (Fenêtrage/Gui/Évènements)+ Ogre (Moteur 3D)

    Seulement voila, j'ai remarqué que Qt n'était pas du tout adapté à la création d'un vrai bon jeu, il était beaucoup plus axé sur les applications "normales".

    J'ai donc décidé de ne pas utiliser Qt, ce qui m'enlève un grand poids lors de la compilation, pour remplacer le fenêtrage, je vais utiliser celui d'Ogre, pour le Gui, CEGUI (Fournis avec Ogre) et pour la gestion des évènements : OIS (Fournis aussi avec Ogre).

    Le problème c'est que j'ai remarqué lors de tests que OIS gérait tout en QWERTY. Et j'aimerais pouvoir l'utiliser selon la configuration clavier de l'OS.

    Comment pourrais-je faire?

    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Sur windows (je ne connais pas pour les autres OS), la gestion des evenements claviers / souris passe par les WM_
    Eventuellement DirectInput si vous devez utiliser des joysticks,...
    Et XInput si vous devez utiliser les pads des XBox par exemple.

    Bien sur, le moteur a deux états:
    - Focus activé sur un champ d'entrée de texte (gestion des WM_CHAR)
    - Pas de focus activé (gestion des WM_KEYDOWN WM_KEYUP, il n'y a pas d'interet à 'connaitre' veritablement la touche seul son scancode est interessant, sauf, bien sur, à l'affichage des options, et dans ce cas: GetKeyNameText() ).

  3. #3
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    OIS fait tout ce boulot pour toi.

    En revanche je ne vois pas le probleme de QWERTY : j'ai ici un jeu qui utilise OIS et qui récupère bien les charactères traduits selon la langue du clavier.

    Les key codes utilisés par OIS ne reflètent que les touches physiques donc effectivement les noms des touches sont a base de QWERTY. Mais tu ne dois pas les utiliser pour récupérer du texte tappé.

    Utilises plutot la valeur textuell des events si tu veux récupérer ce que le joueur tappe.

    Si tu veux juste avoir le nom localisé des touches, utilise OIS::Keyboard::getAsString().

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    J'ai résolu le problème avec une fonction utilisant e.text et e.key pour récupérer les touches selon la config clavier (Escape est récupéré via e.key, A est récupéré via e.text)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/06/2010, 15h22
  2. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18
  3. Réponses: 6
    Dernier message: 24/02/2005, 09h44
  4. PB de vue utilisant UNION avec ENTERPRISE MANAGER
    Par punglas dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2004, 15h18
  5. Réponses: 12
    Dernier message: 02/02/2004, 13h41

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