首先,我想说我是完全自学的,我在互联网上找到了尽可能多的教程,所以如果有某些我不太熟悉的概念,请提前道歉。
好吧,我想就困扰我好几天的事情寻求帮助。
我在 SpriteKit 场景(GameScene)中有一个引用节点(referenceNode),
该引用节点引用了另一个 SpriteKit 场景(referenceScene),
并且这个场景有一个自定义类(referenceClass.swift)。
我在 referenceClass.swift 中有一个名为 trueOrFalse 的布尔变量,我希望能够从我在 gameScene.swift 中的代码中更改值。
我已经尝试通过创建实例来从 SceneEditor 转换为我的代码,就像你会做 SKSpriteNode 和 SKLableNodes 一样,但这似乎不起作用
class GameScene: SKScene
{
var referenceNode: SKReferenceNode! //link to SceneEditor Reference Node
override func didMove(to view: SKView)
{
referenceNode = self.childNode(withName: "referenceNode") as! SKReferenceNode
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
{
referenceNode.trueOrFalse = false
}
}
这是我的自定义课程
import UIKit
import SpriteKit
class referenceClass: SKScene
{
var trueorfalse:Bool = true
func oneFunction()
{
}
}
这只是我制作的一个小示例项目,因此我可以通过尝试可以找到的不同解决方案来了解这个概念,但没有成功。我意识到我可以创建全局变量,但我试图保持我的代码干净,因为与此节点相关的所有功能都保留在此参考类中。我也被告知它的编程不好?
任何帮助将不胜感激 :)
巴尼