我正在制作一个代表徒手画和精灵的游戏,当它通过时会动画。所以我必须使用颜色检测,并且当屏幕上的精灵从它经过的地方遇到颜色变化时会引发事件。为此,我使用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。
我尝试使用非黑色背景,并在屏幕坐标上显示红色。
提前致谢