iPhone dev> Получение позиции CCSprite от другого объекта в cocos2d? - PullRequest
0 голосов
/ 07 апреля 2011

Эй, люди, я создаю игру в cocos2d, (я очень новичок в этом и пытался решить эту проблему)

в игре, которую я делаю, я создал "Бомбу""class, и класс" Player ", я хочу, чтобы бомба проверяла столкновение с игроком, если обнаруженное столкновение взорвалось.

Моя проблема в том, что я понятия не имею, как получить позицию игрока изкласс бомбы, я был бы рад, если бы вы, ребята, могли бы помочь мне здесь, спасибо!

1 Ответ

0 голосов
/ 08 апреля 2011

Вы добавили CCSprites в CCLayer, не так ли?Тогда этот CCLayer должен иметь доступ к ним обоим.Таким образом, вы можете использовать функцию CCLayer tick, чтобы отслеживать позиции CCSprites и запускать действия, если их ограничивающие рамки перекрываются.

Некоторые примеры кода для иллюстрации:

@interface MyLayer : CCLayer {
  BombSprite *bomb;
  PlayerSprite *player;
}

...

@end

@implementation MyLayer

- (id)init {
   if ((self = [super init])) {
      bomb = ...
      player = ...

      [self schedule:@selector(tick:)];
   } 
   return self;
}

- (id)tick:(ccTime)dt {
   if (CGRectContainsRect([bomb boundingBox], [player boundingBox])) {
      NSLog(@"Collision!");

      // call [player didCollideWith:bomb] or something
      ...
   }
}

@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...