공이 화면 주위로 무작위로 튀는 게임을 만들려는 중이며 대상을 치면 게임에서 승리합니다. 따라서 볼 스프라이트와 대상 스프라이트 사이에 충돌 감지를 만들려고합니다. 과 같이 게임 플레이 클래스로 볼 구현이 게임 플레이 클래스에서 별도의 클래스에서 수행되고 대상이 추가됩니다충돌 감지 코코스 2D
-(void) targetCollision{
CCSprite *target = [CCSprite spriteWithFile:@"target.png"];
target.position = ccp(400,50);
[self addChild:target];
CCSprite *ball = [[Ball alloc] init];
[self addChild:ball];
//CCSprite *ball = [CCSprite spriteWithFile:@"ball2.png"];
//ball.position = ccp(400,75);
//id a1 = [CCRotateBy actionWithDuration:1 angle:360];
//id repAct = [CCRepeatForever actionWithAction:a1];
//[ball runAction: repAct];
//[self addChild:ball];
CGRect ballRect = [ball boundingBox];
CGRect targetRect = [target boundingBox];
if (CGRectIntersectsRect(ballRect, targetRect)) {
NSLog(@"Target hit! Collision detected");
}
}
나는 내가 주석 코드로 공을 추가 할 경우 작동이 방법을 얻을 수 있지만, 내가 원하지 않는 것은 아닙니다. 어떤 도움을 많이 주시면 감사하겠습니다!
나는 볼과 targ et가 추가되고 볼이 계속 회전합니다. 그래서 문제는 볼의 움직임과 관련이 있습니까 ?? – xuanweng
잘 공 이동이 다른 클래스에서 정의 된 다음 줄이있는 장면에 추가됩니다. CCSprite * ball = [[Ball alloc] init]; [self addChild : ball]; 기본적으로 스크린과 고정 된 타겟 주위로 무작위로 튀는 공이 있습니다. 공이 목표 위에 놓이거나 충돌 할 때 콘솔에 충돌이 감지되었다고 말하고 싶습니다. – Tossy12