我试图在迅速建立我的第一个spritekit游戏.我不明白存储常量的位置,所以我可以把它们提供给整个项目.我有一些C和C的经验,用来创建一个Constants.h文件.斯威夫特有这样的事吗?做这个的建议做法是什么?
现在我正在使用一个具有静态常量的结构体,但是我不知道它是否是正确的方法:
struct Constants { static let gravity : Int = 20 }
解决方法
如果您的程序的每个部分都需要高度通用的常量,这表明设计问题(每当您遇到某些事情,您可能会遇到设计问题).对于绝大多数程序来说,重力常数不应该是必需的,所以它们通常不需要是全局常量(在C中也是这样).
把你的常数与需要的东西保持一致,或把它们传递给需要这个常数的东西. SpriteKit应该为您做大多数重力计算,但如果您正在进行额外的物理工作,那么应该有一些物体代表物理引擎或“世界”.这是重力常数所属的地方.或者,将重力恒定放入您在启动时传入物理引擎的结构体.
即使你对引力常数有非常广泛的需求,那么你应该把它放在一个像PhysicalConstants这样的结构体,而不是一个通用的常量(这使得代码重用很困难,因为它混合了无关的东西).在我的代码中,常见的例子就是“系统范围高亮度颜色”(可能会被客户端更改)的“样式”常量,所以我想要一个地方修改它们).这些在我的应用程序中进入一个名为Style.h的标题,现在将进入一个Style结构体.但是它们与非风格常量分开.