2017-07-01 14 views
0

キャンバスがクリックされたときとキーが押されたときの2つの異なるアクションを実行しようとしていますが、同時に両方を実行できないようです。関数が完全に無関係であっても、これを行う方法はありますか?キー押しがcanv.onmousedown()に干渉しています。

canv.onmousedown = function() { 
console.log("Hello World"); 
}; 

そして、キー入力のために...

if(rightPressed && heroX < canvas.width) { 
     heroX += heroSpeed; 
} 

答えて

1

それは単一の関数で行うことができます。キャンバスにclickイベントを聴いて、それに沿って進むかどうか、たとえばシフトが押されているかどうかを確認します。

function(e) { 
     if(!e.shiftKey) return; //it will do nothing unless shift key was pressed 
    } 

これは、e.keyCodeのプロパティを持つ任意のボタンで実行できます。たとえば、e.keyCode === 32は、イベント中にスペースバーが押されたかどうかをチェックします。任意のkeyCode hereを確認できます。

+0

ありがとうございます!私はこれを試してみます – Azhi

+0

あなたの助けを借りれば解決策として私の答えを記入してください:) –

+0

私は答えとしてそれを選ぶことができるまで数分待たなければなりません – Azhi

関連する問題