避免在cocos2d中的透明部分拖动精灵触摸



我正在制作一个应用程序,可以在屏幕上拖动对象,但对象不是完美的正方形,所以我试图避免透明像素。我使用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,

问题是,选择并不完美(还不够完美),有人能解决这个问题吗?我还能走别的路吗?

提前感谢

在这种情况下,您必须使用像素完美碰撞。测试您触摸的点是精灵的像素。。

http://www.learn-cocos2d.com/2011/12/fast-pixelperfect-collision-detection-cocos2d-code-1of2/

最新更新