RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 console + event clavier sdl

Forum : C++ - CONSOLE
Sous Catégorie : Console
Type du sujet : Sujet Normale
FAQ : FAQ C++ - CONSOLE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C++ - CONSOLE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1946
Message
#90834
Posté le 13/03/06 à 18:57
dans ma console, couplé à sdl pour sdl_net, j'ai ma zolie boucle infinie et je veux qu'en cliquant sur une touche elle s'arrete, mais comme un con j'ai essayé ce code :


while(1) { keys = SDL_GetKeyState(NULL); // fonction normale if(keys[SDLK_ESCAPE]) // touche échap { // code quand j'appuye } }


mais j'ai l'impression que ça veut pas marcher, il rentre jamais dans mon if :x
donc comment mettre ça en place (avec le clavier sdl ou pas, sans foutre une autre lib si possible^^) Smiley :():
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Molo
Membre du club
Avatar de Molo
Inscrit : 21/12/2005
Messages : 367
Message
#90837
Posté le 13/03/06 à 19:14
Je n'ai jamais utilisé ni SDL, ni Allegro...
Mais ce que j'ai remarqué dans certain articles, c'est qu'il faut initialiser le clavier avec la fonction adéquate, des fonctions genre ...InitKeyboard, avant de pouvoir utiliser les événements de cette lib concernant le clavier.

Bonne Chance
__________________________
L'une des fonctions principales d'un ami consiste à subir, sous une forme plus douce et symbolique, les châtiments que nous désirerions, sans le pouvoir, infliger à nos ennemis.
Aldous Huxley
Le meilleur des mondes

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#90838
Posté le 13/03/06 à 19:22
1 - En général on préfère un while(done!=true) car en sortant du while tu fais toutes les désallocations nécessaires toussa toussa au lieu de tout recopier dans ton if.
2 - Tu vérifies que keys n'est pas vide, cad problème de transmission au niveau du clavier?
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1946
Message
#90842
Posté le 13/03/06 à 20:00
oui le while est comme ça alp ^^
le key je vais voir ce qu'il en est...

molo merci mais je sais utiliser SDL et elle n'a pas besoin d'initialiser le clavier elle
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1946
Message
#90940
Posté le 14/03/06 à 20:47
ben alors alp tu sèches ? Smiley

le key n'est jamais vide, mais il ne comporte jamais d'infos sur les touches enfoncées >_<

du coup... je sais plus quoi faire ^^'
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#90941
Posté le 14/03/06 à 20:56
Ben j'attendais ta réponse sur keys ...
T'as essayé d'afficher keys[SDLK_ESCAPE] pour voir ce qu'il contient ?
Pour voir si en effet c'est à 1(je crois que c'est du 0|1 ce tableau)
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1946
Message
#90947
Posté le 14/03/06 à 22:10
en fait j'ai fait un test for allant de SDLK_FIRST à SDLK_LAST, et dès que key[i] (les sdlk vont de 0 à xxx) alors j'affichais un truc à l'écran, mais rien ne s'est affiché donc key n'a jamais la valeur d'une quelconque clé :():
et key[SDLK_ESCAPE] ne m'affiche rien non plus
__________________________
Spirit - modérateur casu ^-^'

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#90948
Posté le 14/03/06 à 22:32
Hmmm ...
*consulte le wiki de la sdl*
http://www.libsdl.org/cgi/docwiki.cgi/SDL_5fGetKeyState?action=highlight&value=SDL_GetKeyState
D'après ça, c'est bon ...
Mais il passe peut-être la boucle trop vite ... enfin ça m'étonnerait. Dans tout les cas c'est de cette fonction que vient le problème.
enfin:
[quote]Note: Use SDL_PumpEvents to update the state array.

Note: This function gives you the current state after all events have been processed, so if a key or button has been pressed and released before you process events, then the pressed state will never show up in the getstate calls.

Note: This function doesn't take into account whether shift has been pressed or not. [/quote]
__________________________
Be C++
[url=http://blog.mestan.fr/]Mon Blog (C++, Intelligence Artificielle, Prolog)[/url]

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Spirit
Superviseur :
- C & C++
Modérateur :
- PHP
- Javascript
- MySQL
Avatar de Spirit
Inscrit : 07/04/2004
Messages : 1946
Message
#90950
Posté le 14/03/06 à 22:44
[quote]Note: You can only call this function in the thread that set the video mode[/quote]
c'est ce que je me demandais, je me demande si finalement les events sdl ne sont pas uniquement ceux qui ont lieux sur une fenêtre créée avec la sdl (et donc pas de console) :():
__________________________
Spirit - modérateur casu ^-^'

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2547
Message
#90954
Posté le 14/03/06 à 23:24
Ouaip ... c'est probable ...
le MEME code appliqué sur une fenêtre, ca marche ?
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C++ - CONSOLE



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.