overlaySKScene无法通知主SCNScene

问题描述 投票:-1回答:1

我有一个基本游戏,其中包含sceneView: SCNView和SKScene叠加层sceneView.overlaySKScene = OverlayScene(...)

[当我在overlaySKScene中点击一个按钮时,我想通知主SceneView执行一些动画,然后开始我的游戏。

我已按照Apple的建议重写了overlaySKScene中的thouchesBegan

class OverlayScene: SKScene {

 override func touchesBegan(...) {

...

现在,我想观察此按钮的点击并执行动画:

observe(\GameViewController.sceneView.overlaySKScene.someProperty) { (selfRef, change) in
            selfRef.setGame(updatedState: someValue)
        }

但是我无法观察overlaySKScene及其属性。

sceneView通知SKScene的正确方法是什么?

ios swift scenekit game-engine metal
1个回答
0
投票

已经有一段时间了,但是我想我使用协议来解决这个问题。我想在按下SKbutton时在不同的类中更改gameState。效果很好,但是除了声音外,我在SKScene上做的还不多,所以我最终只是在Scenekit的顶部做了UIViews,如果可以的话,这会容易得多。如果没有,则可以搜索视图控制器之间的通信,有几个选项。

© www.soinside.com 2019 - 2024. All rights reserved.