Я написал несколько игр с использованием cocos2d, но все они контролировались акселерометром и использовали только простые сенсорные события.Все, что мне нужно сделать, это зарегистрироваться, когда касание экрана, в любом месте.Мне не нужна информация о положении или скорости.В настоящее время персонаж перемещается по экрану, и пользователи должны иметь возможность касаться, чтобы персонаж двигался вверх по экрану.текущий код не работает как задумано.Персонаж не подвержен касанию, он просто продолжает двигаться вниз по экрану.Пожалуйста, порекомендуйте.Ниже приведен код, который я пытаюсь использовать сейчас.
В методе обновления игры:
if (IsTouched == TRUE) {
SealPositionBasedOnTouchInt = SealPositionBasedOnTouchInt - (100*dt);
}
else {
SealPositionBasedOnTouchInt = SealPositionBasedOnTouchInt + (100*dt);
}
SealSwimming.position = ccp(SealPositionBasedOnTouchInt, SealSwimming.position.y);
События касания:
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for( UITouch *touch in touches )
{
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
IsTouched = TRUE;
}
}
Вы заметите, что я получаю местоположение касания, это в настоящее время не используетсяза что угодно, но был в образце.