我在开发应用程序时发现,我的一些节点需要访问传递给更新方法的 currentTime 以实现业务逻辑。
不断地将其作为参数传递给所有可能需要它的初始化程序和方法似乎很困惑。
我想知道其他开发人员可能对这个问题有什么解决方案(是否有任何标准模式)。访问系统时间是一个选项,但可能会产生一些开销,并且每次调用时都会有所不同。
也许可以使用全局变量,但我想知道是否存在任何线程问题或在闭包中使用它的问题。
选项?
最佳答案
好吧,我想你可以创建某种全局变量,例如:
static var _currentTime: CFTimeInterval = 0
然后在更新函数中,您可以将当前时间分配给该变量:
override func update(currentTime: CFTimeInterval) {
_currentTime = currentTime
}
只要您在任何范围之外声明全局变量,您就应该能够从游戏中的任何位置访问它。
关于ios - 如何避免在 SpriteKit 中传递 currentTime ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624193/