У меня простая игра, в которой, если пользователь идет на задний план, игра при запуске должна скрывать узел спрайта игрока.Сретенский узел спрайта в фоновом режиме
Мой код выглядит следующим образом:
- (void)didMoveToView:(SKView *)view
{
[super didMoveToView:view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil];
}
- (void)appDidEnterBackground:(NSNotification *)notification
{
[self hidePlayerNode];
}
- (void)hidePlayerNode
{
[self.playerNode runAction:[SKAction fadeOutWithDuration:0.0]];
}
Проблема заключается в том, что, когда игра запускается из фона, я могу видеть узел игрок на долю секунды, а затем исчезает. Мне нужно сделать узел игрока невидимым, как только он перейдет на задний план, и пользователь не должен его видеть, когда приложение перезагружается.
Я пробовал с UIApplicationWillResignActiveNotification
, но результат тот же. Кроме того, я попытался запустить код внутри метода выбора по основному потоку, но тот же результат снова.
Пожалуйста, помогите мне с этим. Заранее спасибо.
Вы пробовали использовать метод applicationWillResignActive и вместо альфа-затухания использовать «playerNode.hidden = true;» ? – sangony