【问题标题】:Avoid dragging sprite touching in transparent part in cocos2d避免在cocos2d的透明部分拖动精灵触摸
【发布时间】:2012-07-19 15:55:06
【问题描述】:

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

问题是选择并不完美(并不接近), 有没有人有解决方案?我还有其他的路可以走吗?

提前谢谢你

【问题讨论】:

    标签: iphone cocos2d-iphone sprite transparent


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多