Как найти обнаружение столкновения между CCSprits? - PullRequest
0 голосов
/ 03 апреля 2011

Я пытаюсь найти обнаружение столкновений между двумя спритами (обведено черным цветом на рисунке ниже)

вот код, из которого я пытаюсь найти его с помощью сравнения х кордината обоих спрайтов, но безуспешно

взгляни и скажи мне, в чем ошибка

- (void)update:(ccTime)dt {


    NSLog(@"Target y %f, player y %f",target.position.y, player.position.y);
    if(target.position.y==player.position.y)
//          if((target.position.x==player.position.x)&&(target.position.y==player.position.y))
//  if((sprite.position.y==player.position.y)||(sprite.position.y==player.position.y))
    {
                 Nslog (@"Matched");
            //do Something  
    }
}

enter image description here

Ответы [ 2 ]

2 голосов
/ 03 апреля 2011

Класс CCNode, который является родительским для класса CCSprite, имеет свойство boundingBox типа CGRect. Используя это свойство игрока и целевых объектов, вы можете проверять наличие столкновений, используя ...

if (CGRectIntersectsRect(player.boundingBox, target.boundingBox) {
    // Kaboom...
}
0 голосов
/ 03 апреля 2011

вы можете взглянуть на CGRectIntersectsRect, как показано здесь http://www.icodeblog.com/2009/02/18/iphone-game-programming-tutorial-part-2-user-interaction-simple-ai-game-logic/

...