跟随了其他类似这样的帖子,但由于某种原因,对于我的情况而言,它无法正常工作。
谁能解释我为什么或我做错了什么?
因此,现在,我有了一个SKLabelNode,它在游戏一开始就附加在框架中,但是alpha =0。这只表示“ PAUSED”。想法是通过在按下暂停按钮时将alpha设置为1来显示它,而在再次按下时将alpha设置为0来使一切恢复正常。我认为这比将相同的Sprite / Label一次又一次地附加并重新附加在一起是一个更好的主意。(如果没有,请告诉我)
这是我的代码:
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)
}
因此,我第一次按下屏幕上的“暂停”按钮时,它会暂停并添加“暂停”标签。当我再次按下它时,暂停就永远不会消失,尽管我正在检查它是否进入了unpauseGame函数。那怎么了
提前致谢。
我认为暂停游戏时不会执行runAction。简单尝试
func unpauseGame() {
self.view!.paused = false
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句