Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1566 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Appuie d'une touche en continue

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appuie d'une touche en continue

n°853780
LeSanglier
Posté le 19-09-2004 à 22:30:35  profilanswer
 

Bonjour,
 
Lorsque j'utilise ce code :  
 
// handle keyboard events
var moz = false;
if (navigator.appName == "Mozilla" || (navigator.appName == "Netscape" && navigator.appVersion.indexOf("4." ) == -1))
   moz = true;
 
if (moz)
   document.addEventListener("keyup",keypress,true);
else if(navigator.appName == "Netscape" && navigator.appVersion.indexOf("4.x" ) != -1)
   document.captureEvents(Event.KEYPRESS);
 
if (!moz)  
    document.onkeypress=keypress;
 
 
function keypress(e) {  
   if (navigator.appName == "Microsoft Internet Explorer" )  
      tmp = window.event.keyCode;
   else if (moz)
 tmp = e.keyCode;
 
 if(tmp==80)  
  {
  //alert("Touche n°80 P" );
  // Depplacer le personnage
  Position_PersoMarcherHautDroit(0);
  }
 
}
 
Je dois appuyer plusieurs sur la  touche "p" pour, par exemple, déplacer une "layer" .
Mais j'aimerais  pouvoir appuyer une seul fois sur la touche "p" pour qu'il y est un déplacement continue de la couche. Il faudrait donc que l'appuie d'une  touche en continue puisse fonctionner.
 
Comment pourrais-je faire cela ?
 
Merci d'avance.
 
Ps : Ce code me sert pour programmer un jeu en 3d isométrique.

mood
Publicité
Posté le 19-09-2004 à 22:30:35  profilanswer
 

n°853897
Leris
Posté le 20-09-2004 à 08:20:58  profilanswer
 

salut,
 
un truc dans ce genre ...
 

Code :
  1. <html>
  2. <head>
  3. <title>Bouge de la !</title>
  4. <style type=text/css>
  5. body{
  6. text-align:center;
  7. margin:0px;
  8. background-color:aliceblue;
  9. }
  10. .blc{
  11. position: absolute;
  12. left: 100;
  13. top: 100;
  14. width:80px;
  15. height:80px;
  16. border:1px solid black;
  17. background-color:red;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <br><br>
  23. Utilisez les touches de direction:
  24. <div id="bloc" style="position: absolute; left: 100; top: 100; width:80px; height:80px;border:1px solid blue;"></div>
  25. <div id="blac" class="blc"></div>
  26. <script language="javascript">
  27. var blok;
  28. if (document.all)
  29. blok=bloc.style;
  30. else
  31. blok=document.getElementById('bloc').style;
  32. var moz = false;
  33. if (navigator.appName == "Mozilla" || (navigator.appName == "Netscape" && navigator.appVersion.indexOf("4." ) == -1))
  34.    moz = true;
  35. if (moz)
  36.    document.addEventListener("keydown",keypress,true);
  37. else if(navigator.appName == "Netscape" && navigator.appVersion.indexOf("4.x" ) != -1)
  38.    document.captureEvents(Event.KEYPRESS);
  39. if (!moz) 
  40.     document.onkeydown=keypress;
  41. function keypress(e) { 
  42.    if(!e) e = window.event;
  43.    if(document.all) tmp = e.keyCode;
  44.    else if (moz)
  45.    tmp = e.keyCode;
  46. switch(tmp)
  47.   {
  48.    case 38:
  49.      blok.top=parseInt(blok.top)-1; break;
  50.    case 40:
  51.      blok.top=parseInt(blok.top)+1; break;
  52.    case 37:
  53.      blok.left=parseInt(blok.left)-1; break
  54.    case 39:
  55.      blok.left=parseInt(blok.left)+1; break;
  56.   }
  57. }
  58. </script>
  59. </body>
  60. </html>


 
 :)  
 
++
 
L.

n°853906
LeSanglier
Posté le 20-09-2004 à 09:17:41  profilanswer
 

Ca fonctionne pas ! :-(
 
Je suis Linux et j'utilise Mozilla. Est-ce que cela viendras de là, une mauvaise gestion du clavier de la part de Moz ?
(Je vais regarder sur le net)
 
Sinon, merci pour ton code, c'est exactement ce que je voulais, au moins dans le principe !

n°1709544
snike
Posté le 28-03-2008 à 21:30:41  profilanswer
 

En effet on ne peut pas appuyer sur 2 touches en meme temps
 
Quelqu'un à 1 solution ?
 
D'avance merci


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:
n°1712518
snike
Posté le 03-04-2008 à 23:08:56  profilanswer
 

Up


---------------
Le problème avec les idées derrière la tête c'est qu'on ne peut pas les voir :??:

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Appuie d'une touche en continue

 

Sujets relatifs
[PHP] Problème boucle while et "continue;"envoi info à un ou word à partir du php - touche F1, F2 ???
Problème : script continue avant la fin de l'execution system()touche spécial sur TI-82
Désactiver la touche NumLockblocage de touche
detecter la touche frappéPlantage inexpliqué dès que je touche à un .h
activer une touche du clavierVC++6.0 Savoir si une touche a été enfoncée
Plus de sujets relatifs à : Appuie d'une touche en continue


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR