1

簡単な質問があります-キャンバスアークでマウスオーバーイベントを検出するオプションはありますか? 半径10の円弧を作りたいのですが、マウスオーバーで「何かをする」と。私はそのようなことをしようとしました:

context.arc(100,200,10,0,2*Math.PI);
canvas.addEventListener('mouseover', function(e) {
    if(e.clientX == 100 && e.clientY == 200 ){
        alert('omg');
    };
});

...しかし、マウスが正確に x=100、y=200 の位置にある場合にのみ表示されます (動作するかどうかはわかりません)... KinectJS を使用したくありません。これを行う他の方法はありますか?

4

1 に答える 1

2

あなたのシーンがどれほど複雑かわかりません。キャンバス上にその円弧がある場合は、getPixelマウスオーバーでカラーピッキング()を使用して、円弧の色と色を比較できます。

シーンがより複雑で、同じ色の複数の図形がある場合は、特定の色(オブジェクトごとに別々の色)で図形を描画する別の非表示のキャンバスを維持できます。次に、そのキャンバスに対してカラーピッキングチェックを実行します。

于 2012-12-08T11:18:15.820 に答える