|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Bonjour à tous,
Je recherche un moyen de capter l'appui de deux touches simultanément via la methode keydown() de jQuery. J'arrive à bind ctrl + <- avec ce code sans problème: Code :
Code :
if ( ( (e.keyCode == 37) && (e.keyCode == 40) ) || ( (e.keyCode == 81) && (e.keyCode == 90) ) ) { Merci de votre aide Nico |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() |
fais des conditions imbriquées.
Soit à combiner les touches de codes respectifs c1 et c2 Code :
|
||
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Merci de ton aide je test ca tout de suite.
Bonne journée |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Merci de ton aide, il me semblais avoir déjà essayé, mais par aquis de conscience je viens de re-tester avec ce code:
Code :
Je cherche une méthode permettant de pouvoir animer un sprite dans un jeu sur 8 axes, je dois donc être en mesure de bind l'appui simultané de deux touches. Je pense que c'est ma méthode jQuery keydown() qui me bride... Quelqu'un aurait t'il un exemple à me fournir le cas contraire. Merci de votre aide. |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
L'événement keydown se déclenche pour chaque frappe d'une touche du clavier, donc, à mon avis, la bonne méthode est de stoker la frappe précédente si l'on veut examiner des combinaisons de deux touches. Code javascript :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Merci infiniment de ton aide danielhagnoul, ca fonctionne à merveille.
Bonne journée |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Aprés test plus poussé ça ne fonctionne pas comme attendu. Je m'explique, si j'appuie une fois sur gauche, que je le relache et qu'ensuite j'appui sur haut, a ce moment là, la variable lastWhich correspond toujours à la touche gauche et donc l'action attendu n'est pas la correct.
Je vais regarder comment gameQuery (un framework pour construire des jeux basé sur jQuery) gère les évènements clavier. Si je trouve la solution je la posterai ici. Nico |
|
|
00
|
|
|
#8 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
essaye de passer par le data
stockes le keycode dans le data sur le keydown et enlève le sur le keyup
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Bonjour,
Parles tu du data dans les specs HTML5 ou autres chose? Oui j'étais justement en train de refléchir à ca, remettre à zéro ma variable lors du keyup. |
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
non je parle de data() jquery
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#11 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Ha ok, si j'ai bien compris cette méthode permet de se passer des inputs:hidden pour mettre en cache des variables afin de les réutiliser dans des fonctions.
Je ne connaissais pas, c'est pas cross-browser (ie ne le prend pas en charge pour du xml), mais je trouvais vraiment ma solution avec les input:hidden peu classe, merci pour l'info. Pour ma problématique, qui est je le rappel dans le cadre d'un moteur de jeu 2D, je pense que je me pose un faux problème, je suis en train d'étudié comment ca fonctionne dans des frameworks ou des jeux existant. |
|
|
00
|
|
|
#12 | ||
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Bon je viens de faire un test, mais c'est logique, si je maintiens la touche gauche et que j'appui sur la touche haut, ca fonctionne.
Mais comme lors du keyup, je RAZ ma variable comme ceci: Code :
|
||
|
|
00
|
|
|
#13 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
ben non faut pas tout razer
perso j'aurais mis un array illtéral et testé si l'index existait
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#14 | ||
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Voici ma solution en utilisant la méthode data() de jQuery:
Code :
Voila si ça peut aider, merci pour votre aide. |
||
|
|
00
|
|
|
#15 | ||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
@SpaceFrog : L'idée d'exploiter data() pour stocker les frappes est très bonne, je me demande qui a pu attirer ton attention sur data(). On ne gère toujours qu'un événement keydown ou keyup à la fois. Je préfère cette version : Code javascript :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||
|
00
|
|
|
#16 | |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Citation:
une inspiration subite ? ou des influences d'un maitre à penser ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Très pratique cette méthode data() en effet. Sinon, oui un case break est plus adapté dans ce genre de script. Ça optimise au lieu de comparer chaque code ASCI à chaque condition.
|
|
|
00
|
|
|
#18 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
J'ai fait tous mes tests sous Firefox 4 ! ![]() Mais avec les trois touches CTRL+SHIFT+P rien ne va plus ! ![]() Je n'ai pas le temps de tester IE 9, mais Chrome 10 et Firefox 4 ne gèrent pas du tout les touches de la même manière !
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#19 |
|
Futur Membre du Club
![]() Nicolas Bonnici Inscription : janvier 2011 Messages : 59 ![]() |
Plus d'infos ici, je l'avais lu dans une news je sais plus trop ou...
https://developer.mozilla.org/en/DOM...Event/KeyEvent Cependant je viens de tester mon code publié plus haut sous FF4 (stable sous Linux) et ca fonctionne correctement pour un ctrl+maj+a par exemple. Je précise que j'utilise event.which au lien de event.keyCode. |
|
|
00
|
|
|
#20 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
ben suffit de créer le json dynamiquement ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com