Может кто-нибудь помочь мне разобраться, как безопасно остановить все действия при закрытии приложения Win32 cocos2dx, на котором выполняется CCRepeatAction. Я пробовал добавлять sprite->stopAllActions();
в Destructor
, OnExit()
и в update(float delta);
методы, но по-прежнему происходит сбой приложения, когда я нажимаю кнопку «X» моего работающего приложения Win32 Cocos2dx.
Я не сохраняю CCRepeatAction, и я также попытался просто позволить Cocos2D-X остановить запущенное действие, когда оно выполняет его очистку, но кажется, что если CCAction работает, когда приложение закрыто, то приложение аварийно завершает работу. Поэтому я предполагаю, что действие должно быть остановлено при закрытии приложения Win32.
Повторное действие навсегда выполняется в моем состоянии ожидания. Это простое действие fadeIn / fadeOut CCAction. Вот код для моей анимации состояния простоя. Я не сохраняю его, поэтому не уверен, как остановить анимацию и закрыть приложение без сбоев.
if ( idleAnim == true )
{
this->getSprite()->stopAllActions();
CCSequence *actions = CCSequence::create(CCFadeIn::create(0.5f), CCFadeOut::create(0.5f),NULL);
CCRepeatForever *repeat = CCRepeatForever::create(actions);
this->getSprite()->runAction(repeat);
idleAnim = false;
}
Задача ещё не решена.
Других решений пока нет …