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在父坐标系中。
我已经使用下面的代码进行碰撞检测。但随着 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在父坐标系中。