[jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé (/showthread.php?tid=6494) Pages :
1
2
|
RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Argorate - 09-11-2012 tu laisses pas appuyé au début là? puisqu'il y a une différence de vitesse. Si tu appuis et que tu relâches pas, tu n'as pas un petit temps de latence? Ma foi... c'est peut être lié à l'OS comme on le disait... RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Plume - 09-11-2012 J'ai deux phases. La première, je dessine un carré sans lâcher la touche. Dans la deuxième, j'appuie avec répétition. RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Ter Rowan - 09-11-2012 (09-11-2012, 04:16 PM)Argorate a écrit : Maintenant, autre problème: comment faire pour ne pas autoriser le déplacement en diagonale? tu fais une pile en plus des 4 statuts le dernier élément de la pile est la direction a condition que le statut de la direction soit "appuyé" a chaque nouvelle touche appuyée tu ajoutes à la pile, en plus de son statut. a chaque relache d'une touche, tu supprimes du statut, et tu controles la pile le premier appui de left ==> left = true, pile = left le dernier élément de la pile est left, donc tu vas a gauche tu laisses appuyé left le dernier élément de la pile est left, donc tu vas a gauche deuxième appui sur up ==> left = true, up = true, pile = left + up le dernier élément de la pile est up donc tu vas en haut tu laisses appuyé left + up le dernier élément de la pile est up donc tu vas en haut tu laches up -> left = true, up = false, -> tu supprimes up de la pile -> pile =left le dernier élément de la pile est left, donc tu vas a gauche troisième appui sur up ==> left = true, up = true, pile = left + up le dernier élément de la pile est up donc tu vas en haut tu relâches left -> up = true, left = false -> tu supprimes left de la pile -> pile = up le dernier élément de la pile est up donc tu vas en haut tu laisses appuyé up le dernier élément de la pile est up donc tu vas en haut tu relâches up -> up = false -> tu supprimes up de la pile -> pile = vide pas d'éléments dans la pile, la boucle s'arrête enfin j'ai pas testé mais je ferais ainsi RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Maks - 09-11-2012 Pour éviter les déplacements en diagonale pour mon jeu j'empêche qu'on puisse enfoncer deux touches de direction en même temps
puis
RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - niahoo - 09-11-2012 Moi pour éviter les latences je faisais comme ça :
RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Argorate - 10-11-2012 niahoo: ce que tu fais c'est exactement le principe du lien de plume mais en plus sale et moins structuré :p Marks: du coup tu n'as pas "mon" pb de latence en utilisant directement keydown de jQuery? Sinon, comme je l'ai dit dans mon exemple, je veux qu'on puisse appuyer sur deux touches en même temps, mais que seul la dernière soit prise en compte et si on la relâche, celle qui reste reprend la main en quelque sorte. Du coup je pense tester la solution de pile proposé par Ter rowan, parce que je trouve ça chiant d'obliger le joueur à presser et relâcher les touches de direction tout le , puisqu'on les empêche d'en avoir deux en même temps... RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - Maks - 10-11-2012 Je ne sais pas moi je suis pas vraiment dans la même optique, mes déplacements sont animés donc beaucoup plus lent. Du coup il n'y a pas ce problème de latence. PS : Apelle moi Maks ou Max j'ai l'impression que tu me prends pour un coco là ^^ RE: [jQuery] Latence keydown pour bouger un div lorsqu'on laisse appuyé - niahoo - 10-11-2012 oui bon, j'ai pas relu tout le topic et j'ai codé ça directement dans le champ de réponse. mais ça marche bien. AU lieu de tailler tu ferais mieux de t'en inspirer pour y penser tout seul la prochaine fois |