gpt4 book ai didi

swift - SpriteKit - 暂停输入

转载 作者:行者123 更新时间:2023-11-30 11:42:55 26 4
gpt4 key购买 nike

我在 Spritekit 游戏中添加了一个暂停按钮,可以像这样暂停游戏:

    @objc func pauseGame()
{
pauseButton?.isHidden = true
pauseMenu?.isHidden = false
gameScene?.isPaused = true // This is the main scene, which is supposed to be paused
}

这按预期工作,但场景仍然通过触摸功能和手势识别器获取输入,并且在场景继续后,角色会执行各种不应该执行的 Action 。

所以,基本上我只是想知道,是否有在 SpriteKit 中暂停场景的最佳实践,如果没有,哪种方式是在游戏暂停时暂停输入的最佳方法。

最佳答案

正如您已经发现的那样,暂停场景并不会阻止输入。它仅阻止动画、声音和 Action 运行。

我所做的是为暂停状态创建一个变量

var isGamePaused = false

然后在暂停游戏时将变量设置为 true

然后在更新函数和触摸函数中我放置了一个守卫来检查游戏是否暂停

guard !isGamePaused else { return }

这样更新就不会运行,场景也不会收到触摸。当你想取消暂停场景时,只需在设置场景时设置isPaused = false isPaused = false

关于swift - SpriteKit - 暂停输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49139593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com