У меня есть базовая ракетная игра, которая собирает метеориты. Очень простой. Игра отлично работает, но есть настоящая досада, которую я пытался сгладить, но не могу.Игнорировать столкновения объектов с той же группой столкновений в Cocos2D
Когда ракета сталкивается с метеоритом:
-(void)ccPhysicsCollisionPostSolve:(CCPhysicsCollisionPair *)pair rocket:(CCNode *)nodeA meteorite:(CCNode *)nodeB{
[self meteoriteRemoved:nodeB];
[self spawnMeteorite];
score ++;
_scoreLabel.string = [NSString stringWithFormat:@"%d", score];
}
Снимается игре и появитесь. Это прекрасно работает, но если метеорит близок к другому метеориту, а ракета врезается в один, он отбрасывает другой, как снукерные шары. Я хочу, чтобы они оставались неподвижными до тех пор, пока ракета не столкнется с ними.
Можно ли описать спрайты в одной группе столкновений, чтобы игнорировать друг друга?
EDIT **
я загружаю метеориты в цикле из класса, который имеет:
@implementation Meteorite
- (void)didLoadFromCCB {
self.physicsBody.collisionType = @"meteorite";
}
@end
Они затем породившей с помощью:
-(void)spawnMeteorite{
CCNode *meteorite = [CCBReader load:@"Meteorite"];
CGFloat randomX = ((double)arc4random()/ARC4RANDOM_MAX);
CGFloat randomY = ((double)arc4random()/ARC4RANDOM_MAX);
CGFloat rangeX = 320 - 48;
CGFloat rangeY = 2880 - 200;
meteorite.position = ccp((randomX * rangeX)+24, (randomY * rangeY)+ _ground.contentSize.height + _rocket.contentSize.height);
meteorite.physicsBody.velocity = ccp(0,0);
[_physicsNode addChild:meteorite];
}
Следующий код дает журнал Meteorite Hit чрезвычайно часто при полете в группу, и большая часть t полет улетает в забвение!
-(void)ccPhysicsCollisionPostSolve:(CCPhysicsCollisionPair *)pair meteorite:(CCNode *)nodeA meteorite:(CCNode *)nodeB{
NSLog(@"Meteorite HIT");
}
Спасибо за глядя на это, надеюсь, что это помогает
Я добавил код выше, надеюсь, что он проливает свет на то, что происходит не так. – Dave440
Отсортировано !! Спасибо, я дал метеоритам также физическую группу.collisionGroup, и теперь это работает. Спасибо за указатель !! – Dave440