如何在不破坏 "Menu" 按钮默认行为的情况下在 tvOS 游戏中设置主菜单
How to setup main menu in tvOS game without breaking "Menu" button default behaviour
我真的很难让导航在我尝试构建的游戏中正常工作。
我有一个主 ViewController,它在启动时显示一个 SKScene (MainMenuScene),我在其中设置了一个按钮菜单。我还在 MainMenuScene 中添加了一个 TapGestureRecognizer,到目前为止效果很好——按钮呈现不同的 SKScene,并且所有功能都按预期工作。
现在,使用 TapGestureRecognizer 的问题在于它破坏了遥控器上默认菜单按钮的行为。我已经阅读了所有关于此的 SO 帖子,普遍的共识是我应该禁用识别器,但是我无法再让按钮工作了。
我尝试覆盖场景中的 pressesBegan 方法,虽然似乎在第一次呈现 MainMenuScene 时有效,但如果我转到一个实际的游戏场景然后返回到主菜单再次。这可能是因为我展示了一个新的 MainMenuScene,实际上并没有引用我在 ViewController viewDidLoad 方法中展示的原始场景。
有人知道这实际上应该如何工作吗?
终于弄明白了——我所要做的就是删除我添加的所有手势识别器,它神奇地起作用了——导航到主屏幕仍然有效,每次都会显示所有不同的场景。希望这对将来遇到同样问题的人有所帮助。
我真的很难让导航在我尝试构建的游戏中正常工作。 我有一个主 ViewController,它在启动时显示一个 SKScene (MainMenuScene),我在其中设置了一个按钮菜单。我还在 MainMenuScene 中添加了一个 TapGestureRecognizer,到目前为止效果很好——按钮呈现不同的 SKScene,并且所有功能都按预期工作。
现在,使用 TapGestureRecognizer 的问题在于它破坏了遥控器上默认菜单按钮的行为。我已经阅读了所有关于此的 SO 帖子,普遍的共识是我应该禁用识别器,但是我无法再让按钮工作了。
我尝试覆盖场景中的 pressesBegan 方法,虽然似乎在第一次呈现 MainMenuScene 时有效,但如果我转到一个实际的游戏场景然后返回到主菜单再次。这可能是因为我展示了一个新的 MainMenuScene,实际上并没有引用我在 ViewController viewDidLoad 方法中展示的原始场景。
有人知道这实际上应该如何工作吗?
终于弄明白了——我所要做的就是删除我添加的所有手势识别器,它神奇地起作用了——导航到主屏幕仍然有效,每次都会显示所有不同的场景。希望这对将来遇到同样问题的人有所帮助。