Я работаю над приложением SKScene, и у меня есть один SKAction в моем приложении после установки чего-либо. Но после того, как я закрою приложение и переведу его в фоновый режим, что означает, что оно неактивно, SKAction останавливается. Поэтому я хочу знать, как заставить SKAction работать после того, как я закрою его, когда он неактивен. Большое спасибо!
Как продолжить SKAction, когда приложение неактивно
comment
невозможно, skview приостановлен в фоновом режиме
- person LearnCocos2D   schedule 11.01.2015
Ответы (1)
Как сказал LearnCocos2D, вы не можете запускать SKAction, когда приложение находится в фоновом режиме.
Однако, если вам нужно имитировать игру, которая продолжает работать даже в фоновом режиме, вы можете использовать этот подход:
- когда приложение переходит в фоновый режим, сохранить текущее время
- когда приложение возобновляет работу, рассчитайте время, в течение которого дельта находилась в фоновом режиме.
- вручную измените состояние игры в соответствии со значением дельта. Конечно, в зависимости от сложности вашей игры это может быть невозможно.
Надеюсь это поможет.
person
Luca Angeletti
schedule
11.01.2015
Можете ли вы дать мне более подробную информацию о том, как это сделать? Коды, наверное, подскажете? Я немного запутался.
- person zh_Vincent; 13.01.2015
Супер простой пример (ваш сценарий, вероятно, будет более сложным). Допустим, у вас есть SKAction, который перемещает спрайт A из верхней части экрана в нижнюю. Действие требует 3 минуты, чтобы переместить спрайт. Действие начинается, и через 1 минуту приложение переходит в фоновый режим. (здесь вы сохраняете текущее время 23:08)...
- person Luca Angeletti; 15.01.2015
Еще через минуту приложение возобновляет работу. Здесь вы получаете текущее время 23:09 и вычисляете, что приложение было в фоновом режиме в течение 1 минуты. Это означает, что спрайт А должен был пройти треть пути сверху вниз. Вы останавливаете текущее действие. Переместите спрайт на треть. Создайте новое действие, чтобы переместить его на последнюю треть экрана. Надеюсь, это понятно.
- person Luca Angeletti; 15.01.2015
И да, я знаю, это звучит безумно для игры :D
- person Luca Angeletti; 15.01.2015
а как узнать время после создания SKAction и его проведения. В вашем случае первая минута.
- person zh_Vincent; 15.01.2015