CCMoveTo от Cocos2D - PullRequest
       4

CCMoveTo от Cocos2D

1 голос
/ 20 апреля 2011

у меня есть два CCSprite на сцене

CCSprite * spriteA; CCSprite * spriteB;

Положение spriteB фиксировано, а положение spriteA - нет. Я касаюсь spriteA, и его можно перемещать только по прямой линии, только в четырех направлениях «вверх / вниз / влево / вправо» , не косая черта, а также это может быть перемещено, пока spriteB не остановит это. такие как я (spriteA) могут продолжать работать, пока стена (spriteB) передо мной не остановит меня.

я использую следующий код

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
return YES;}
- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint location = [touch locationInView: [touch view]];
CGPoint convertedLocation = [[CCDirector sharedDirector] convertToGL:location];
[spriteA stopAllActions];
[spriteA runAction: [CCMoveTo actionWithDuration:1 position:convertedLocation]];

}

его можно перемещать, но не только в четырех направлениях, и как я могу использовать spriteB, остановить spriteA, если spriteB находится впереди spriteA? спасибо

1 Ответ

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

Ваш вопрос довольно большой, поэтому я постараюсь ответить на высоком уровне.

Прежде всего, вы должны посмотреть на распознаватели жестов. Для cocos2D вы должны использовать этот специальный класс: CCGestureRecognizer . Этот класс по сути является оболочкой для стандартных классов UIGestureRecognizer на iOS.

распознаватель жестов, который вы хотите использовать: UISwipeGestureRecognizer . Этот распознаватель жестов сообщает вам, когда в определенном направлении обнаружено движение. Доступны четыре направления, которые вы ищете. Четыре направления определены как перечисление: UISwipeGestureRecognizerDirection. Когда вы регистрируете UISwipeGestureRecognizer, вы будете уведомлены, когда пользователь проведет пальцем в любом из этих направлений.

Для второй части вашего вопроса вам нужно обнаружение столкновений. Cocos2D имеет встроенный физический движок, который должен помочь вам в этом, учитывая, что ваши формы CCSprite примерно выпуклые. Вы можете найти здесь отличный учебник по обнаружению столкновений в box2d здесь .

Надеюсь, это поможет вам на вашем пути.

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