发出用于颜色检测的读取屏幕像素

时间:2013-11-13 11:06:34

标签: andengine

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

我尝试使用非黑色背景,并在屏幕坐标上显示红色。

提前致谢

0 个答案:

没有答案