retirer la clé de contact presse retard en javascript

J'ai le problème suivant:
Je suis en train d'écrire un script javascript jeu, et le caractère est contrôlé par les touches fléchées.

Le problème est que, lorsque l'on maintient la touche enfoncée, il existe un délai entre le tir à la première pression de touche et la répétition de l'kepress.

Aussi, lorsque l'on appuie sur la "flèche droite" et la maintient enfoncée, puis appuie sur la "flèche haut", le personnage ne se déplace pas vers le coin supérieur droit, mais cesse de le déplacer dans la bonne direction et commence à se déplacer vers le haut.

C'est le code que j'utilise:

<body onLoad="Load()" onKeyDown="Pressed(event)">
fonction Pressé(e) { 
cxc = e.keyCode; 
si(cxc == 37) 
Déplacer(-1,0); 
si(cxc == 38) 
Move(0,-1); 
si(cxc == 39) 
Déplacer(1,0); 
si(cxc == 40) 
Déplacer(0,1); 
} 

quelqu'un a une idée??

  • votre code ne marchera pas, c'est sûr. ne suis pas sûr si vous pouvez tester que deux touches sont enfoncées en même temps, en JS. va attendre les réponses.
  • bien, c'est dans l'acte de travail, mais pas comme prévu. Mon jeu est un minuteur de jeu, et waisting 1sec en attendant que les frappes répétées n'est pas bon. C'est frustrant.
  • pourquoi ne pas vous essayer à l'aide d'une approche à base de mémoire flash. un transparent flash swf qui capture les événements et ensuite en conséquence appels JS. java2s.com/Code/Flash-Flex-ActionScript/Development/...
  • Pas de flash, c'est trop de travail et il ne fonctionne pas pour tout le monde. Mon jeu va être un "non-flash-jeu". Je préfère HTML5
  • HTML5? Cela ne fonctionne pas pour tout le monde! Enfait Flash a 98% de taux d'adoption.
  • Oui, mais alors, je peux dire que mon jeu n'utilise pas de flash.
  • Oui, mais HTML5 fonctionnera pour tout le monde....
  • Je souhaite que nos IE6 amis bonne chance! Voici quelque chose que vous pourriez avoir un coup d'oeil à quirksmode.org/js/keys.html
  • Lire la suite de la répondre. Il peut vous aider.
  • Oui, il est possible de tester si les deux touches sont enfoncées en même temps, en JavaScript. Cependant, vous avez besoin pour créer des événements de le faire. Lire la réponse j'ai fait un lien dans mon commentaire ci-dessus.

InformationsquelleAutor alex | 2010-09-11