В Cocos2d / OpenGL-ES проверить пиксель предыдущего розыгрыша? - PullRequest
1 голос
/ 08 сентября 2010

Я рисую некоторые линии в cocos2d (используя удобный ccDrawLine), ничего особенного, но я хочу проверить, попадает ли моя анимированная строка в что-то.Я мог бы сделать некоторые математические вычисления для некоторых объектов, но для некоторых динамических частей сцены было бы намного проще, если бы я мог сделать:

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

Что бы вы предложили?По крайней мере, что бы вы предложили, если бы это был простой OpenGL ES.

1 Ответ

0 голосов
/ 12 октября 2010

Найденное решение:

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