CCParallaxNode继续前进并且convertToWorldSpace给出错误的值cocos2d iPhone

时间:2015-03-14 14:57:28

标签: ios objective-c iphone cocos2d-iphone cocos2d-x

我使用下面的代码进行碰撞检测。但是当CCParallaxNode继续无限滚动时。我的立场出错了。 我已经尝试了所有可能的解决方案。但是一切都给了我错误的视差值。

for (CCSprite *sp in PathsArray) {
        if (sp.tag==500) {
            CGPoint sprect=[self convertToWorldSpace:sp.position];
            CGRect pillerRect=CGRectMake(sprect.x, sprect.y, sp.boundingBox.size.width, sp.boundingBox.size.height);
            CGRect heroRect=CGRectMake(charcterObject.boundingBox.origin.x, charcterObject.boundingBox.origin.y, charcterObject.sp4.boundingBox.size.width, charcterObject.sp4.boundingBox.size.height);

            if (CGRectIntersectsRect(heroRect, pillerRect)) {
                [self stopJumping];
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

为此,两个矩形必须在同一个坐标系中。您可能应该获得* sp的位置

CGPoint sprect=[sp.parent convertToWorldSpace:sp.position];

因为sp.position在父坐标系中。