2011-07-28 9 views
1

質問は簡単ですが、どのオブジェクトがOpenGLでユーザーによってタッチされたのかをどのように識別できますか? 私は利用イベントをonTouchEventしようとしましたが、これは可能なX、Yの画面のみを返します。Android OpenGL ESに触れたオブジェクトを特定する方法

+0

[Android OpenGL 3Dピッキング](http://stackoverflow.com/questions/6699387/android-opengl-3d-picking)の可能な複製 – genpfault

答えて

2

同様の問題は、このスレッドで(&が答え)頼まれた。 Detect user's touches over an OpenGL square

は基本的に2つの方法がある:1、指定の色情報を見て、すべての異なる色でバッファにすべてのオブジェクトをレンダリングしあなたのオブジェクトを識別するために '座標を選ぶ'。 もうひとつ(と私はそれほどリソース集約的ではないと思う)は、「レイ」を取得して、スクリーン上に現在レンダリングされているすべてのオブジェクトに対して、境界ボックスを使ってヒットテストを実行しています。

編集: レンダリングを正字/ 2dで行う場合は、やや単純化されます。 タッチしたポイントと、描画した画像に指定した四角形(または円や多角形など)を使って簡単なヒットテストを行うことができます。

これが役に立ちます。

関連する問題