我正在制作一个应用程序,您可以在屏幕上拖动对象,但对象不是完美的正方形,所以我试图避免透明像素。 我使用KKPixelMaskSprite类来做它,但它不能正常工作 谁能指出我正确的方向? 我有一个继承自该类的类,如下所示:
@interface MyClass : KKPixelMaskSprite
然后我正在阅读这些内容:
for (CCSprite *sprite in [_myLayer children]) {
if ([sprite isKindOfClass:[MyClass class]]) {
MyClass * object = (MyClass *)sprite;
if (CGRectContainsPoint(object.boundingBox, touchLocation) && ![object pixelMaskContainsPoint:touchLocation]) {
_selectedObject = object;
}
}
}
他们在屏幕上移动_selectedObject
问题在于选择并不完美(它并不接近), 有人有解决方案吗?还有其他可以追随的路径吗?
提前谢谢
答案 0 :(得分:0)
在这种情况下,您必须使用像素完美碰撞。测试你触摸的点是精灵的像素..
http://www.learn-cocos2d.com/2011/12/fast-pixelperfect-collision-detection-cocos2d-code-1of2/