我有一个基本的游戏,其中包含一个sceneView: SCNView和一个SKScene覆盖sceneView.overlaySKScene = OverlayScene(...)。
当在overlaySKScene中点击一个按钮时,我想通知主sceneView执行一些动画,然后启动我的游戏。
我已经按照苹果的建议,在thouchesBegan中取代了overlaySKScene:
class OverlayScene: SKScene {
override func touchesBegan(...) {
...现在我想观察这个按钮点击并执行动画:
observe(\GameViewController.sceneView.overlaySKScene.someProperty) { (selfRef, change) in
selfRef.setGame(updatedState: someValue)
}但是我不能观察到overlaySKScene及其性质。
从sceneView通知SKScene的正确方法是什么?
发布于 2020-05-16 17:48:42
已经有一段时间了,但我想我用协议来解决这个问题。当按下一个gameState时,我想在不同的类中更改SKbutton。它运行得很好,但是除了声音之外,我对SKScene并没有做那么多,所以我最终只是在Scenekit的顶部做了UIViews,如果这是您的选择的话,这要容易得多。如果没有,那么您可以搜索视图控制器之间的通信,有几个选项。
https://stackoverflow.com/questions/61805886
复制相似问题