J'ai une interface qui doit réagir aux "longues pressions sur les touches". Cela signifie 2 actions différentes pour la même clé sur la base de la durée de la clé a été vers le bas:AS3: Détecter les touches longues
PRESSE CURSEUR GAUCHE: action A
PRESSE & TENIR CURSEUR GAUCHE: Action B
Eh bien, il est la preuve plus difficile que j'ai pensé. Le problème principal est que Keyboard.KEY-DOWN et Keyboard.KEY-UP se déclenchent continuellement si vous maintenez la touche enfoncée. Cela me semble bizarre bien que cela puisse avoir du sens si vous pensez à imputer du texte (si vous entrez du texte et maintenez une touche enfoncée, il commence à remplir l'espace).
Lorsque j'essayais de résoudre le problème, j'ai pensé à démarrer un compteur sur le KEY-DOWN et à le réinitialiser sur KEY-UP. Ensuite, s'il atteint un certain seuil, déclenchez un événement. Le problème est que le compteur se réinitialise tout de suite parce que l'événement KEY-UP se déclenche tout le temps. Je connais les classes d'interrogation au clavier telles que BigRoom et Senocular mais elles ne résolvent pas le problème car elles basent leur statut sur les mêmes événements.
Je pourrais aller pour les minuteurs démarrant une minuterie sur KEY-DOWN et après x millisecondes vérifier si la clé est toujours en bas, mais cela supposerait que la touche a été tout le temps. Je ne pense pas que ce serait fiable.
Et c'est le point que je commence à manquer d'idées. Y a-t-il une méthode beaucoup plus simple que j'ai oubliée? J'espère qu'il y en a!
Merci,
Juan
Ah! C'est la machine virtuelle qui fait quelque chose d'étrange pour émuler l'auto-répétition. Très intéressant. (Par ce que je veux dire, très étrange.) –