在Cocos2d / OpenGL-ES中检查上一次绘制的像素?

时间:2010-09-08 13:05:08

标签: iphone ipad opengl-es cocos2d-iphone draw

我在cocos2d中绘制一些线条(使用方便的ccDrawLine),没有什么花哨的,但我想检查我的动画线是否有点击中。我可以为一些对象做一些数学计算,但对于场景中的一些动态部分,如果我能做的话会容易得多:

if pixel not black at (x,y)
  // line will hit something
  do handleCollisionDetectedAt(x,y)

你会建议什么?如果它是简单的OpenGL ES,至少你会建议什么。

1 个答案:

答案 0 :(得分:0)

找到解决方案:

GLubyte pColor[4];
glReadPixels(x,y,1,1,GL_RGBA,GL_UNSIGNED_BYTE,&pColor[0]);
int red = pColor[0];
int green = pColor[1];
int blue = pColor[2];   

NSLog(@"(R,G,B) = (%d,%d,%d)",red,green,blue);