Мне трудно возобновить анимацию в моем приложении Cocos2D. Я добавляю CCSprite в качестве дочернего элемента в CCSpriteBatchNode, и он запускает анимацию.
Поэтому, когда я нажимаю кнопку паузы, я делаю это:
[[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];
Теперь в документах говорят использовать:
[[[CCDirector sharedDirector] actionManager] resumeTargets:];
Тем не менее, я пробовал все возможные цели, включая сам спрайт, пакетный узел, себя (CCLayer) и текущую CCScene, и ничего не сработало.
Есть ли способ возобновить работу ВСЕХ целей?
Редактировать: я объявил NSSet в синглтоне и делаю следующее:
[Singleton sharedSingleton].pauseTargets = [[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];
[[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];
Затем, чтобы возобновить, я делаю:
[[[CCDirector sharedDirector] actionManager] resumeTargets:[Singleton sharedSingleton].pauseTargets];
Но я получаю сбой:
2012-08-29 18:40:05.433 App[34872:707] -[__NSMallocBlock__ countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x1e075a40
2012-08-29 18:40:05.434 App[34872:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSMallocBlock__ countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x1e075a40'
[[CCDirector sharedDirector]pause]
и[[CCDirector sharedDirector]resume]
? - person 0xDE4E15B   schedule 30.08.2012- (NSSet *) pauseAllRunningActions
Приостанавливает все запущенные действия, возвращая список целей, чьи действия были приостановлены. надеюсь, это поможет - person 0xDE4E15B   schedule 30.08.2012resumeTargets:
методе[[[CCDirector sharedDirector] actionManager] resumeTargets:theTargets];
- person 0xDE4E15B   schedule 30.08.2012