Следил за несколькими другими сообщениями, такими как этот, но для по какой-то причине не работают должным образом для моего случая.
Может ли кто-нибудь объяснить мне, почему или что я делаю неправильно?
Итак, на данный момент у меня есть SKLabelNode, который прикреплен к фрейму в самом начале моей игры, но с альфа = 0. Это только говорит «ПАУЗА». Идея состоит в том, чтобы показать это, установив альфа = 1 при нажатии кнопки паузы и альфа = 0 при повторном нажатии, и все вернется в норму. Я подумал, что это будет лучше, чем удалять и снова прикреплять один и тот же спрайт/метку снова и снова. (Если нет, дайте мне знать)
Вот мой код:
func showPauseModal() {
print("opening pause modal ", self.view!.paused)
if self.view!.paused {
self.pausedLabel.alpha = 0
self.unpauseGame()
}else{
self.pausedLabel.alpha = 1
self.pauseGame()
}
}
И затем это функции pauseGame() и unpauseGame().
func pauseGame() {
let delay = SKAction.waitForDuration(0.5)
let block = SKAction.runBlock({
self.view!.paused = true
})
let sequence = SKAction.sequence([delay, block])
self.runAction(sequence)
}
func unpauseGame() {
let delay = SKAction.waitForDuration(0.5)
let block = SKAction.runBlock({
self.view!.paused = false
})
let sequence = SKAction.sequence([delay, block])
self.runAction(sequence)
}
Итак, когда я впервые нажимаю кнопку паузы на экране, он приостанавливается и добавляет метку PAUSED. Когда я нажимаю ее снова, пауза никогда не исчезает, как и метка, хотя я проверяю, что она попадает внутрь функции unpauseGame. Так что же не так?
Заранее спасибо.