У меня есть пошаговая игра, в которой объекты перемещаются по игровому полю. Это движение требует времени, около 0,4 секунды на ход. Я хочу отключить дальнейшие касания сцены, пока мой объект не достигнет места назначения, и я не смогу выполнить вычисления для новой позиции.
Я пытался использовать логические флаги анимации, но кажется, что они либо игнорируются, либо ненадежны.
[selectedModel runAction:[SKAction moveTo:[MapOfTiles positionForTileCoord:s.position] duration:0.75] completion:^{
[self animateNextMove];
if(reachedDestination)
{
isAnimatingMove = NO;
}
}];
Я заметил, что наложение прозрачного SpriteNode с взаимодействием с пользователем, установленным на NO, кажется, по-прежнему фиксирует прикосновения (я планировал добавить прозрачное наложение и включить/выключить его взаимодействие с пользователем для захвата прикосновений.
Как лучше всего отключить кнопки и касания узлов, пока Sprite Kit выполняет некоторую анимацию?