繁体   English   中英

在Cocos2d / OpenGL-ES中检查先前绘制的像素?

[英]In Cocos2d/OpenGL-ES check pixel of previous draw?

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

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

你有什么建议? 至少如果是简单的OpenGL ES,您会提出什么建议。

找到的解决方案:

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM