У меня есть кнопка «Домой» на моей сцене, которая при нажатии переходит в главное меню.Я использую replaceScene, чтобы заменить текущую сцену (игровую сцену) сценой HomeMenu.По какой-то причине действия и звуки, которые происходят на игровой сцене, не останавливаются, когда я заменяю сцену.Я попробовал следующий код, но все же, находясь в главном меню, я слышу действия и звуки игры на игровой сцене.
// при срабатывании главного меню!- (void) homeMenuClicked: (CCMenuItem *) item {NSLog (@ "home menu clicked!");
CCScene * scene = [[CCDirector sharedDirector] runningScene];[scene stopAllActions];
[self.layer stopAllActions];
[self unloadSoundEffects];
[[CCDirector sharedDirector] replaceScene: [CCSlideInLTransition transitionWithDuration: 1.0 scene: [HomeScene scene]]];
}
Я также должен добавить, что в игровом слое также есть объект таймера (NSTimer), который запускается через 2 секунды или около того.
ОБНОВЛЕНИЕ 2:
Позвольте мне опубликовать код!Я думаю, что проблема заключается в том, что когда игрок угадывает правильный ответ, вызывается следующий метод:
[self updateForCorrectAnswer];
Внутри updateForCorrectAnswer У меня есть спектакль PerforSelector, который планируется запустить через 6-7 секунд.Я считаю, что PerforSelector является виновником.Если каким-то образом я могу остановить это от увольнения, то, я думаю, у меня все будет хорошо.
[self performSelector:@selector(refreshScore) withObject:nil afterDelay:7.0];