zei*_*sen 1 iphone collision-detection cocos2d-iphone
我有2个精灵.我使用boundingbox检查与CGRectIntersectsRect的冲突.但它没有用.HBBall和HBpaddle有一个名为image的CCSprite.
在里面:
ball = [[HBBall alloc] init];
ball.position = ccp(150, 50);
[self addChild:ball];
[update addObject:ball];
paddle1 = [[HBPaddle alloc] init];
paddle1.position = ccp(50, 160);
[self addChild:paddle1];
Run Code Online (Sandbox Code Playgroud)
更新:
if (CGRectIntersectsRect([paddle1.image boundingBox], [ball.image boundingBox]))
CCLOG(@"ball hit paddle");
Run Code Online (Sandbox Code Playgroud)
CGRectIntersectsRect总是返回true.有没有人有想法?
你不能直接传递边界框,因为它是相对于精灵.你必须像这样传递绝对CGRect边界框:
s = CCsprite
s.anchorPoint = ccp(0, 0);
CGRect absoluteBox = CGRectMake(s.position.x, s.position.y, [s boundingBox].size.width, [s boundingBox].size.height);
Run Code Online (Sandbox Code Playgroud)
做出必要的调整!
希望能有所帮助!
| 归档时间: |
|
| 查看次数: |
7259 次 |
| 最近记录: |