如何为CCMenuItem实现PNPOLY以定义非矩形多边形的可触摸区域?

时间:2011-08-22 03:05:36

标签: cocos2d-iphone polygon

我正在实现一种可触摸的彩虹,但是上部带的凹面“透明”区域正在干扰较低的彩虹带。我希望从(http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html)使用PNPOLY,但我不明白它应该如何工作。我希望能够定义乐队的可触摸区域和透明(不可触摸)区域。

代码:

  

int pnpoly(int nvert,float * vertx,float * verty,float testx,float testy)   {

     

int i,j,c = 0;

     

for(i = 0,j = nvert-1; i< nvert; j = i ++){

     

if(((verty [i]> testy)!=(verty [j]> testy))&&

     

(testx<(vertx [j] -vertx [i])*(testy-verty [i])/(verty [j] -verty [i])+ vertx [i]))

 c = !c;
     

}

     

返回c;

     

}

引用表示凹实体的布尔表达式是A.B.C.(D + E + F)。这如何适合这个功能?

0 个答案:

没有答案