私はスマートフォン上での動きのためにWASDをシミュレートしようとしています。スマートフォンのボタンをクリックすると、そのボタンが起動しますが、決して停止しません。キーをクリックしたシミュレーションが動作しない
ボタンを離すときにプログラムを停止するように指示するにはどうすればよいですか?キーアップが必要なのか、誰かに良いアイデアがありますか?
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);
}
}
これは、ボタンをトリガ:
<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>
ボタンを放したときにonkeyupイベントを追加しようとしましたか? – AmericanUmlaut
あなたは 'fireKey()'をトリガするためにどのようなイベントを使用していますか? –
あなたはそれを止めるように言うことはありません。代わりに 'keyPress'イベントを試してみてください。上の 'onkeydown'と 'keydown'を 'onkeypress'と 'keypress'で置き換えてください。 – allnodcoms