HTML5キャンバス上でマウスを動かしているときに相対的なマウス座標を取得する簡単な方法はありますか?HTML5キャンバス上を移動しながらマウス座標を追跡する簡単な方法
私はこれが見つかりました:
function getMousePos(canvas, evt){
// get canvas position
var obj = canvas;
var top = 0;
var left = 0;
while (obj && obj.tagName != 'BODY') {
top += obj.offsetTop;
left += obj.offsetLeft;
obj = obj.offsetParent;
}
// return relative mouse position
var mouseX = evt.clientX - left + window.pageXOffset;
var mouseY = evt.clientY - top + window.pageYOffset;
return {
x: mouseX,
y: mouseY
};
}
をしかし、それは私には重すぎるようです。このようなことを単純化するためにキャンバスを扱うときにフレームワーク(キネティックのような)を使う理由はありますか?
あなたが投稿コードについて重い何ですか? –
Kinetic.jsにマウスの動きの追跡があります。すでに実装されているライブラリを使用できますか? – Panagiotis
私の意見では、このコードは極端に重いです。マウス座標やキーコードなどのパラメータを取得するには、そのような操作を行う必要があるとします。 高水準言語と比べてアセンブリ言語に似ています。 –