J'essaye de simuler WASD pour le mouvement sur un smartphone. Lorsque je clique sur le bouton d'un smartphone, il déclenche ce bouton mais ne s'arrête jamais.Simuler en cliquant sur une touche ne fonctionne pas
Comment puis-je arrêter le programme lorsque vous relâchez le bouton? Y at-il quelque chose comme keyup nécessaire ou quelqu'un a une meilleure idée?
function fireKey(el, key) {
if (document.createEventObject) {
var eventObj = document.createEventObject();
eventObj.keyCode = key;
el.fireEvent("onkeydown", eventObj);
} else if (document.createEvent) {
var eventObj = document.createEvent("Events");
eventObj.initEvent("keydown", true, true);
eventObj.which = key;
eventObj.keyCode = key;
el.dispatchEvent(eventObj);
}
}
Cela déclenche les boutons:
<paper-button data-key="LEFT" on-down="handleButton">
<iron-icon data-key="LEFT" icon="hardware:keyboard-arrow-left" style="color: white;"></iron-icon>
</paper-button>
<paper-button data-key="RIGHT" on-down="handleButton">
<iron-icon data-key="RIGHT" icon="hardware:keyboard-arrow-right" style="color: white;"></iron-icon>
</paper-button> <br/>
<paper-button data-key="DOWN" on-down="handleButton">
<iron-icon data-key="DOWN" icon="hardware:keyboard-arrow-down" style="color: white;"></iron-icon>
</paper-button>
Avez-vous essayé d'ajouter un événement onkeyup lorsque le bouton est relâché? – AmericanUmlaut
quel événement utilisez-vous pour déclencher 'fireKey()'? –
Vous ne lui dites jamais d'arrêter. Essayez avec l'événement 'keypress' à la place. Remplacez simplement 'onkeydown' et 'keydown' ci-dessus par 'onkeypress' et 'keypress'. – allnodcoms