Я пытаюсь определить, где пользователь касается касания персонажа на экране, используя спрайты cocos2d. Когда пользователь щелкает слева от спрайта, я хочу, чтобы спрайт запускался влево, и наоборот.
Моя проблема в том, что когда пользователь нажимает на одну сторону и переходит на другую сторону, не отпуская прикосновение (cctouchended не срабатывает), спрайт продолжает работать, но не в том направлении. Где бы я реализовал проверку (и как), чтобы определить, переместилось ли касание пользователя на другую сторону персонажа?
текущий код, который я пробовал:
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView: [touch view]];
CGPoint moveDifference = ccpSub(touchLocation, _character.position);
if (moveDifference.x < 0) {
_character.flipX = YES;
} else {
_character.flipX = NO;
}
}
Спасибо.