gpt4 book ai didi

swift - 如何访问 SpriteKit 场景编辑器引用节点上的自定义类中包含的 Swift 变量?

转载 作者:行者123 更新时间:2023-11-30 10:49:53 32 4
gpt4 key购买 nike

首先我想说,我完全是自学的,遵循了我在互联网上找到的尽可能多的教程,所以如果有某些概念我不太熟悉,请提前道歉。

好吧,我想就困扰我好几天的问题寻求帮助。

我在 SpriteKit 场景(GameScene)中有一个引用节点(referenceNode),
该引用节点引用另一个 SpriteKit 场景(referenceScene),
这个场景有一个自定义类(referenceClass.swift)。

我在 referenceClass.swift 中有一个名为 trueOrFalse 的 bool 变量,我希望能够从 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()
{

}
}

这只是我制作的一个小示例项目,这样我就可以了解这个概念,尝试我能找到的不同解决方案,但没有成功。我意识到我可以创建全局变量,但我试图保持我的代码干净,因为与此节点相关的所有功能都保留在这个引用类中。我还被告知它的编程不好?

任何帮助将不胜感激:)

巴尼

最佳答案

首先我会检查搜索是否正确完成 - https://developer.apple.com/documentation/spritekit/sknode/searching_the_node_tree

例如,在模板 SpriteKit 项目节点中使用 // 前缀进行搜索,即您的情况下的 //referenceNode

其次,不要立即将其强制转换为SKReferenceNode,首先检查返回的对象类型(如果有)。

关于swift - 如何访问 SpriteKit 场景编辑器引用节点上的自定义类中包含的 Swift 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54827557/

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