キャンバス要素内に、キャンバスに円と矩形があり、両方をクリックして別のものを実行したいとします。これらの2つのクリックを区別することは可能ですか?キャンバス要素の異なる部分のクリックを検出することはできますか?
0
A
答えて
2
それを行うための別の方法は、(すなわち、表示されません)影のキャンバスを持つことです。このキャンバスでは、さまざまな色のリアルキャンバスからシェイプのマスクを描きます。
シャドーキャンバスでピクセルの色を確認し、どのオブジェクトが「実際」のものでクリックされたかを調べることができます。
1
onClickコールバックに渡されるイベントには、clickXの位置に設定されたpageXおよびpageYメンバが含まれます。 See more at this blog post。
1
はい、そうですが、そうする既存の機能はないと思います。基本的には、描いた図形を追跡し(一般に頂点の座標を追跡して)、クリックイベントをキャンバスに貼り付けることができます。クリックイベントが発生したら、キャンバスの左上隅を基準にしてマウスのx座標とy座標を見つけ、次にシェイプの配列を反復して交差をチェックします。これの実装はレイトレーシングと似ていますが、2次元のみを扱っているので、はるかに簡単です。
チェックポリゴン計算情報内のポイントについては、この記事:http://en.wikipedia.org/wiki/Point_in_polygon
0
私はを、キャンバス上でオブジェクトを選択できるようにしました。これは、始める方法を探している場合です。
関連する問題
- 1. 右クリックブラウザのコンテキストメニューで左クリックを検出することはできますか?
- 2. キャンバスに擬似要素を追加することはできませんか?
- 3. クリック時にiFrameの内部でDOM要素を選択することはできますか?
- 4. HTMLキャンバス要素のmouseMove outイベントを検出します
- 5. 要素を検出するUIWebViewでクリックする
- 6. キャンバス要素内のどのオブジェクト名/ IDをクリックするか?
- 7. IEのリンクのテキスト部分のみをクリックすることができます
- 8. イベントの部分リフレッシュ要素をプログラムで設定することはできますか?
- 9. レールフォーム要素を部分的に入れることは可能ですか?
- 10. ontouchmove:複数の要素にまたがるタッチを移動するときに新しい要素が検出されることを検出する
- 11. 文書の解析時にHTML要素の位置(フッター、サイドバー)を検出することはできますか?
- 12. どのJava PDFライブラリでページの異なる部分を異なる向きで印刷できますか?
- 13. これを行う方法は、表示コンテンツの部分をクリックすることができますか?
- 14. テキスト部分に必要な行数を検出します。
- 15. セレンは2つの異なるマシン上の別の要素をクリックします
- 16. このような要素がありません:要素を見つけることができません:不足するWeb要素を検証する
- 17. jQueryでは、要素が「マウスオーバーされた」とその要素の子要素を検出するにはどうすればよいですか?ここ
- 18. 入力クリックとボタンの両方でjQueryのdatePicker要素をトリガーすることはできますか?
- 19. 要素の検出とイベントオーバー要素
- 20. VimScriptで同じファイルの異なる部分に異なる構文の色付け規則を適用することはできますか?
- 21. 古い要素をリフレッシュすることはできますか?
- 22. MATLABタイトルの異なる部分の色が異なります
- 23. HTML5キャンバス(動画)要素を細かく分割する
- 24. 複数のスレッドから同じファイルの異なる部分に書き込むことは可能ですか?
- 25. html5キャンバスはどのdom要素にもスクリーンショットを付けることができますか?
- 26. watir-webdriverの要素を手動でハードウェアでクリックすることはできますか?
- 27. 角度で要素クリックを効率的に検出する方法は?私たちが見ることができるようにここで
- 28. キーボードフォーカスイベントをグローバルに検出することはできますか?
- 29. 1つの要素をクリックすると、1つのモーダルで異なるテンプレートがレンダリングされます
- 30. 内部要素を傷つけないようにhtml要素をスタイルすることは可能ですか?