무작위로 스프라이트를 생성하고 화면 전체를 이동하려고합니다.임의로 스프라이트 이동 및 충돌 유지 방법 - Cocos2d?
저는 플레이어와 무작위로 스폰 된 스프라이트 간의 충돌을 감지하기 위해 CGRectIntersectsRect를 사용하고 있습니다.
나는 이것을했는데, 코드는 잘 작동한다. 나는 일정한 간격을 가지고있다.
그러나 스프라이트에 임의성을 추가 할 때 충돌이 항상 발생하지는 않습니다. 대부분의 충돌은 전혀 작동하지 않습니다.
내가 뭘 잘못하고 있는지 올바른 방향으로 어떤 도움을 주셔서 감사합니다.
일정 간격과 관련이 있으며 스프라이트가 화면을 가로 질러 이동하는 데 실제로 소요되는 시간과 관련이 있다고 생각합니다.
확실하지 않습니다.
또한 가능한 경우. 스크린에서 꺼낸 장면에서 enemySprite를 제거하는 가장 좋은 방법을 알고 싶습니다.
-(void)targetTimer {
[self schedule: @selector(enemySprite:) interval: 3.0f];
}
-(void)enemySprite:(id)sender {
CGSize winSize = [[CCDirector sharedDirector] winSize];
//SPAWN ENEYMY
enemySprite = [CCSprite spriteWithFile:@"eneymySprite.png"];
enemySprite.position = ccp (winSize.width/16, winSize.height/5);
[self addChild:enemySprite z:300];
CCAction *moveEnemyRight = [CCMoveTo actionWithDuration:3 position:ccp (winSize.width/1, winSize.height/5) ];
[enemySprite moveEnemyRight];
if (enemySprite.position.y >= winSize.width) {
//Best Way to Remove enemySprite from Scene?
}
NSLog(@"Collision");
[self unschedule:@selector(enemySprite:)];
unsigned int t = arc4random()%4 + 1;
[self schedule:@selector(enemySprite:) interval: t];
}
감사 :
여기 내 코드입니다.
대답 좌표와 함께 게임 영역에 배치됩니다 때문입니다. [sprite removeFromParentAndCleanUp : 예]; – Michael