0
私はHeroをキャンバスに持っています。どのように私はそれを選択し、コンテキストメニューを開きますか?キャンバスにヒーローを選択する方法を教えてください。
クラスイメージは、このメソッドが含まれていないbecuse私は、唯一のキャンバスにリスナーを追加します。
シンプルコード:
context.drawImage(hero, heroX, heroY);
context.globalCompositeOperation = "destination-in";
context.drawImage(mask, heroX, heroY);
context.globalCompositeOperation = "destination-over";
function getElementPosition(obj) {
var curleft = 0,
curtop = 0;
if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return {
x: curleft,
y: curtop
};
}
return undefined;
}
canvas.addEventListener('mousemove', function(evt) {
var mousePos = getMousePos(canvas, evt);
var message = 'Mouse position: ' + mousePos.x + ',' + mousePos.y;
var elementPos = getElementPosition(hero); //doesn't work
alert(elementPos.x);
}, false);
複雑な判断です。 :) ImageクラスのaddEventListenerを追加できますか? – Anonymous
キャンバスの上にイメージのDOM要素として使用する場合のみ(キャンバスに描画しないことを意味します)。それ以外の場合は、数学をする必要があります。 :) – Shomz
"キャンバスの上にイメージ要素" - これはDOM要素を使用することですか?例、タグ ..を追加して使用してもよいですか? getElementById( 'newMyImage')。addEventListener?私は正しく理解していますか? :) – Anonymous