2012-02-21 11 views
0

私はキャンバス上で作業していますが、キャンバス内に「ボタン」を作るためにマウスの座標を見つける必要があります。しかし、私が座標をキャプチャして、マウスがボタンの中にあるかどうかを判断する関数でそれらを使うと、動きません。キャンバスからのマウス座標の取得に問題があります

私の座標検索方法は何ですか?これは私の友人と私が学校プロジェクトのために作っているゲームです。他nohingは本当に重要ので

<!-- game canvas --> 
<canvas id="canvas" width="900" height="600"> 

<!-- no-support message --> 
Se está a ver isto, o seu browser não suporta HTML5. 

</canvas> 

だけキャンバス:

は、ここでは、コードです。ここで

はjavascriptのだ:

//find mouse coordinates 

var mouseX = 0, mouseY = 0; 

$('#canvas').mousemove(function(e){ 
    mouseX = e.pageX - this.offsetLeft; 
    mouseY = e.pageY - this.offsetTop; 
}); 
+0

質問にはあなたのソースまたは関連する部分を含めることができますか?スタックオーバーフローでは、他のサイトがなくなっても、あなたのGistが既に消えているように見えても、質問と回答が将来役立つようにしたい。 –

+0

(私はこの質問をd​​ownvoteしませんでした)私はgist.github.comのような外部サイトではなく、質問にソースを含めることを意味しました。 SOは自動的に身長を制限するので、長さについて心配する必要はありません(それほど多くありません)。 –

答えて

3

varは、ローカル変数を作成します。しかし、あなたの場合は、の外にあるの変数を新しいローカルのものを作成するのではなく更新する必要があります。だから、をmousemoveの機能の中にドロップしてください。

現在、外部変数はローカル変数によって「シャドーイング」されており、アクセス不能になっています。

http://jsfiddle.net/wXMyH/1/

関連する問題