0

フリーハンドの描画とスプライトを表すゲームを作成して、それを通過するとアニメーション化します。したがって、色検出を使用して、画面上のスプライトが色の変化に遭遇したときにイベントを発生させる必要があります。このために、glReadpixel() を使用して RGBA_8888 および GLES20 バージョンを渡し、その値を赤、緑、青の形式で受け取りますが、毎回すべてが 0 になるように返します。pixelformat を変更して多くのヒットと試行を試みましたが、成功しませんでした。助けてください

私のコード:

`

ByteBuffer PixelBuffer = ByteBuffer.allocateDirect(4);
PixelBuffer.order(ByteOrder.nativeOrder());
PixelBuffer.position(0);
int mTemp = 0;

 GLES20.glReadPixels(100, 100, 1,1,GLES20.GL_RGBA,GLES20.GL_UNSIGNED_BYTE, PixelBuffer);
byte b[] = new byte[4];
PixelBuffer.get(b);
Log.e("COLOR", "R:" + PixelBuffer.get(0) + PixelBuffer.get(1) + PixelBuffer.get(2));

`

結果 Logcat : COLOR R: 000.

黒以外の背景を使用してみましたが、画面座標に赤い色が表示されます。

前もって感謝します

4

0 に答える 0