В Cocos2D, как мне обнаружить, что палец удерживается? - PullRequest
4 голосов
/ 24 апреля 2011

Я знаю метод события - (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *), но мне было интересно, как я постоянно что-то делаю, например, перемещаю спрайт, когда палец не работает?

Ответы [ 3 ]

7 голосов
/ 24 апреля 2011

Вы можете сделать это как Gajet или, если ваше движение постоянное, вы можете запланировать свои действия. Предположим, у вас есть этот метод перемещения:

-(void)moveSprite:(ccTime) dt {

  // move your sprite here by small increments
}

И затем в ccTouchBegan: методе, который вы упомянули, вы планируете метод перемещения [self schedule:@selector(moveSprite:)], а в ccTouchEnded вы отменяете [self unschedule:@selector(moveSprite:)] это остановит движение, когда вы закончите свое касание ... Надеюсь, это поможет

5 голосов
/ 24 апреля 2011

вам просто нужно установить логическое значение как true, когда вызывается ccTouchBegan, а когда ccTouchEnd вызывается, set равно false, тогда, когда вызывается событие ccTouchMove, вам нужно только проверить, является ли ваш флаг истинным или нет .

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

Реализация соответствующего UIGestureRecognizer подкласса.Вам будет отправлено либо начальное, либо измененное, либо завершенное событие - и вы можете действовать соответственно.

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