我正在制作一个很多级别的Swift游戏。每个级别与顺序名的文件:Swift:通过整数加载级别类
Level1.swift
Level2.swift
Level3.swift
...
而且每个文件都有一个单独的类在里面,与类名是相同的文件名。
所有类都是一个类的原因是因为所有的类都与基类共享类似的函数,也因为有很多共享变量。
的问题是,我不知道如何通过只使用而不做这种灾难的整数加载级别:
switch Int(level)! {
case 1:
newScene = Level1(size: frame.size)
case 2:
newScene = Level2(size: frame.size)
case 3:
newScene = Level3(size: frame.size)
...
我不能使用,因为我没有任何。 sks文件,只有实际的类。如果我可以通过使用Bundle.main.url简单地加载一个场景,那就太棒了,但这是不可能的。我尝试使用默认行为的扩展协议,但我仍然想不出一种很好的加载方式。任何帮助,将不胜感激。