Я делаю свою первую игру и столкнулся с проблемой. В моей игре есть кнопка паузы, и когда она нажата, я хочу, чтобы мое "pauseMenu" показывало, но оно не работает. Вот код из моей GameScene:
if touchNode == pauseButton {
pauseGame()
}
func pauseGame() {
self.view?.isPaused = true
print("Before isHidden is set to false: \(pauseMenu?.isHidden)")
pauseMenu?.isHidden = false
print("After isHidden is set to false: \(pauseMenu?.isHidden)")
}
Вот что печатает:
Before isHidden is set to false: Optional(true)
After isHidden is set to false: Optional(false)
Как вы можете видеть, функция pauseGame () вызывается успешно, и представление останавливается, но pauseMenu остается скрытым Это странно, потому что он успешно показывает, когда я вызываю pauseMenu? .IsHidden = false в другом месте, как в моей функции, которая вызывается, когда игра заканчивается:
func gameOver() {
...
toggleViews()
}
func toggleViews() {
...
print("Before isHidden is set to false: \(pauseMenu?.isHidden)")
pauseMenu?.isHidden = false
print("After isHidden is set to false: \(pauseMenu?.isHidden)")
}
Это успешно отображает pauseMenu и печатает тот же код:
Before isHidden is set to false: Optional(true)
After isHidden is set to false: Optional(false)
Я думаю, что проблема связана с невозможностью скрыть или показать что-то из touchNode, если я вызываю toggleViews (), как это, с gameScene ничего не происходит.
if touchNode == pauseButton {
toggleViews()
}
Я в растерянности, я пытался это исправить несколько часов. Любая помощь с благодарностью