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

CCParallaxNode moves on and convertToWorldSpace give wrong values cocos2d iPhone

我已经使用下面的代码进行碰撞检测。但随着 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];
            }
        }
    }

要使其正常工作,两个矩形必须位于同一坐标系中。您可能应该将 *sp 的位置设为

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

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