2015-05-27 3 views
0

У меня есть функция, которая создает последовательность действий. После этой функции другая функция вызывается с другой последовательностью.Быстро, как ждать завершения действия?

Я хотел бы назвать вторую функцию, когда действия первой функции полностью завершены.

Я пробовал некоторые решения с помощью «Do .. While», но он не работает, потому что он останавливает действие. Я не знаю, кстати. Я попытался использовать семафор, но он не работаю также. Я попытался использовать «завершение» в действии и поставить свою вторую функцию, но он не работает ...

Так что я потерял, я не знаю, как это сделать .. A вещь, которую я знаю, также является длительностью последовательности, поэтому, возможно, есть решение ждать эту продолжительность до запуска второй функции ..?

Не могли бы вы помочь мне, пожалуйста?

+0

Показать код, который вы пробовали. – Ajay

+2

Вы можете использовать completeHandler (blocks), но было бы хорошо показать ваше действие, потому что вы этого не говорите, но я предполагаю, что есть асинхронные вызовы. – Larme

+0

Ваш вопрос настолько расплывчатый, что он неопровержимо. Что вы подразумеваете под «действиями»? Вы говорите анимацию? Отправьте соответствующий код вместе с описанием того, что вы на самом деле пытаетесь выполнить в конкретных терминах. В противном случае этот вопрос должен быть закрыт как неясный. –

ответ

2

Я говорю о действии moveTo. На самом деле, я хотел бы закончить действие MoveTo до того, чтобы вызвать функцию после этого ..

Вот код:

 self.fct_utils.direction = false 
     coord_b = self.verifyAngle() 

     let wait = fct_move.nodeWaitForDuration(1) 
     let action = fct_move.nodeMoveTo(backTime, coord_x: coord_b.x, coord_y: coord_b.y) 

     let sequence = SKAction.sequence([wait, action, wait]) 

     robot.runAction(sequence) 

И я бы закончить эту последовательность до того, чтобы вызвать следующую строку, которая is:

self.fct_utils.direction = true 
Смежные вопросы