Обнаружение касания изображения (cocos2d)? - PullRequest
1 голос
/ 19 мая 2009

В cocos2d как бы вы обнаружили прикосновение к изображению? У меня много проблем с этим, так что спасибо заранее!

Ответы [ 3 ]

2 голосов
/ 22 июня 2009

Вы реализуете методы ccTouchesBegan / Ended / Moved в своем классе Layer, а затем проверяете местоположение касания относительно контейнера узлов, для которых вы хотите обнаружить касания.

Например:

-(BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  UITouch touch = [touches anyObject];
  CGPoint location = [[Director sharedDirector] convertCoordinate: [touch locationInView: [touch view]]];

  CGRect mySurface = CGRectMake(100, 100, 50, 50);
  if(CGRectContainsPoint(mySurface)) {
    // do something
    return kEventHandled;
  }
  return kEventIgnored;
}

Теперь, все это изменяется в Cocos2D 0.8 (который сейчас находится в активной бета-версии) с помощью «Touch Delegates», и примеры можно увидеть в «Touches Test» (который выглядит как игра в понг из источника, который я только что посмотрел более).

Я не уверен, почему Кори сказал использовать элементы управления UIKit для обнаружения касаний, поскольку у Cocos2D есть свой собственный способ их обработки.

Только касания могут получать прикосновения - не рекомендуется использовать Слой для каждого осязаемого «игрового объекта» (т. Е. Игроков и объектов) ...

0 голосов
/ 21 июня 2009

Этот пост даст вам ответ Проблема с cocos2D для iPhone и обнаружением касания Проблема с cocos2D для iPhone и обнаружением касания

0 голосов
/ 19 мая 2009

Вам нужно слишком невидимые сенсорные поверхности поверх игры, используя стандартные классы UIKit.

Затем вы обнаруживаете и интерпретируете прикосновения к этим объектам и передаете управление своей игре.

Если у вас есть более конкретная проблема, вы можете предоставить больше информации или задать другой вопрос.

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