HTMLのcanvas要素の使い方を学ぼうとしています。当然、描画アプリケーションを作成しています。そのため、アプリの実際の描画とアニメーション部分のコードを設定しましたが、マウスカーソルの位置を取得する方法がわかりません。
私は本当にjQueryを使用したくないのです。なぜなら、jQueryが何をするのかをすべて学びたくなく、セットアップのプロセスを経なければならないからです。助けてくれてありがとう!
HTMLのcanvas要素の使い方を学ぼうとしています。当然、描画アプリケーションを作成しています。そのため、アプリの実際の描画とアニメーション部分のコードを設定しましたが、マウスカーソルの位置を取得する方法がわかりません。
私は本当にjQueryを使用したくないのです。なぜなら、jQueryが何をするのかをすべて学びたくなく、セットアップのプロセスを経なければならないからです。助けてくれてありがとう!
function getMousePos(canvas, evt) {
var rect = canvas.getBoundingClientRect(), root = document.documentElement;
// return relative mouse position
var mouseX = evt.clientX - rect.left - root.scrollLeft;
var mouseY = evt.clientY - rect.top - root.scrollTop;
return {
x: mouseX,
y: mouseY
};
}
window.onload = function() {
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
canvas.addEventListener('mousemove', function(evt) {
var mousePos = getMousePos(canvas, evt);
var message = "Mouse position: " + mousePos.x + "," + mousePos.y;
alert(message);
}, false);
};
キャンバスに描画するためにそれを使用するとき、私はこのコードを好みます:
function getMousePos(canvas, event)
{
var mouseX = event.pageX - canvas.offsetLeft;
var mouseY = event.pageY - canvas.offsetTop;
return {
x: mouseX,
y: mouseY };
}
これは、マウスの正しい位置を取得する際に発生したスクロール、位置、およびその他の問題を回避するために使用したコードでした。