2つのスプライトがあります。私はboundingboxを使ってCGRectIntersectsRectとの衝突をチェックします。しかし、それは動作していません。 HBBallとHBpaddleにはimageというCCSpriteがあります。cocos2dスプライト衝突検出バウンディングボックス
INIT:
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];
更新:
if (CGRectIntersectsRect([paddle1.image boundingBox], [ball.image boundingBox]))
CCLOG(@"ball hit paddle");
CGRectIntersectsRectは常にtrue retuns。誰にもアイデアはありますか?
これは正しい方法です。 +1 – tallen11
小さな点ですが、s.position.xとs.position.yはスプライトの中心を参照していませんか? は、スプライトのための適切な矩形を取得するには、私はあなたが使うべきだと思う: CGRect absoluteBox = CGRectMake([SにBoundingBox] .origin.x、[SにBoundingBox] .origin.y、[SにBoundingBox] .size.width 、[sバウンディングボックス] .size.height); HTH – Ted
あなたのアンカーポイントによって異なります。 – renevdkooi