У меня есть SKNode с детьми. Для этих детей я хотел бы применить действия, которые должны начинаться в одно и то же время (пример кода, k1000ms - константа):
let children = self.children
for var i=0; i<children.count; i++ {
children[i].runAction(SKAction.moveTo(CGPoint(x: 0.0, y: 0.), duration: k1000ms))
}
Дело в том, что я не знаю, сколько времени занимает итерация, поэтому запуск действий для огромного количества дочерних элементов может привести к задержке между первым и последним запущенным действием. Решение, очевидно, заключается в том, чтобы сначала применить действия ко всем узлам, а затем запустить действия с помощью одного вызова (надеюсь, ОС позаботится о правильной синхронизации, но это другой вопрос).
Вопрос 1: Как сначала применить действия ко всем узлам, а потом запустить все сразу?
Вопрос 2: Как получить уведомление о том, что все действия выполнены?