1

キャンバスの内容ではなく、キャンバスの境界線のクリックを検出するにはどうすればよいですか?

範囲 event.mouseX (Y) を検証できることは認識していますが、キャンバスの角が丸く、場合によっては円に見えます。キャンバスの境界線がポインターの下にあるかどうかを知る方法はありますか?

私は持っている:

Canvas.setStyle ("borderColor", 0xFF0000);
Canvas.setStyle ("borderStyle", "solid");
Canvas.setStyle ("BorderThickness", 10);
4

3 に答える 3

0

実際のコンテンツを表示する前のキャンバスよりも 10 ピクセル大きいキャンバスを 1 つ用意するのはどうでしょうか。次に、その後ろのキャンバスはクリックに登録し、前のキャンバスは実際のコンテンツではなく登録します。

于 2011-08-31T03:14:23.553 に答える
0

私はこの特定のトピックについてあまり知りませんが、ある種のピッキングメカニズムを設定することについて考えたことはありますか?

決して表示しないグラフィックス バッファを持つことができますが、すべてを描画します。区別したいものごとに、異なる色で描きます。そうすれば、任意のマウス イベントに対して、独自の色で描画される境界線を含め、マウスが何の上にあったかを把握し、そのオブジェクトに適切なイベントを渡すことができます。

他の方法が見つからない場合の最後の手段としてのみ役立つでしょう。

于 2011-08-29T19:12:30.813 に答える
0

10px の厚さで判断すると、ユーザーが境界線またはキャンバスをクリックした場合の実際の問題は何ですか? キャンバスがクリックされたときに呼び出されるイベント リスナーはありますか? その場合は、キャンバス自体ではなく、キャンバスのコンテンツからディスパッチされるイベントに合わせて、それらのリスナーを調整する必要があります。

于 2011-08-29T18:47:47.773 に答える