我正在尝试使用以下方法检测CCSprite上的触摸:
@implementation MainScene{
CCPhysicsNode *_levelView;
}
- (void)touchBegan:(CCTouch *)touch withEvent:(CCTouchEvent *)event{
CGPoint location = touch.locationInWorld;
CCSprite *clickedSprite;
for (CCSprite *obj in _levelView.children)
{
if (CGRectContainsPoint(obj.boundingBox, location))
clickedSprite = obj;
}
}
完美无缺。 所以我已经可以检测到点击的精灵了。 因为我使用的是某些部分透明的精灵,所以当点击精灵的透明部分时也会检测到它们。
但我想从检测中排除透明部分......
对于我正在使用的物理physics shape polygon
。有没有办法将这个多边形用于:
多边形包含点(对象。 physicsPolygon ,位置)
?或者甚至可以说所有像素,但透明度为100的像素?或者更简单的解决方案?