Pages: 1
Salut à tous,
j'ai testé la gestion des événements clavier fournie par les tutoriaux, mais ce n'"est pas satisfaisant pour faire un jeu (on peut par exemple appuyer sur une seule touche à la fois sans quoi ca annule la première touche appuyée...)
bref, je me demandais si quelqu'un avait déjà écrit un petit code pour la gestion du clavier pour un jeu quelconque, histoire que l'on puisse tourner en avancant par exemple dans un jeu de voiture...
merci
Dernière modification par franck06 (23-04-2007 13:02:33)
Hors ligne
Salut !
Moi j'utilise le principe des keystates (avec ça, tu peux rester appuyer sur la touche, l'action est répétée) et ce que tu veux faire est possible grâce à ça.
class MyEventReceiver : public IEventReceiver { public: bool Keys[KEY_KEY_CODES_COUNT]; bool OnEvent(SEvent event) { if (event.EventType == EET_KEY_INPUT_EVENT) { Keys[event.KeyInput.Key] = event.KeyInput.PressedDown; return true; } return false; } MyEventReceiver() { for (s32 i=0; i < 256; i++) { Keys[i] = false; } } }; MyEventReceiver receiver; device->setEventReceiver(&receiver);
Après tu fais une fonction que tu mets dans ta boucle principale:
void event_manager() { if (receiver.Keys[KEY_KEY_Z]) { // L'action quand on appuie sur la touche Z } }
Hors ligne
Merci Manfeukou pour le bout de code je cherchais justement un bout de code propre pour faire ca (je fais souvent des bourdes dans le on_event )
Hors ligne
Super, ca marche impeccable
merci beaucoup !
Hors ligne
Pages: 1
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 35 invités en ligne Aucun membre connecté RSS Feed |