从字符串[Swift,Spritekit]获取自定义类的类型

时间:2018-06-25 08:13:56

标签: swift sprite-kit

我有一个游戏脚本文件,其中包含章节名称和/或游戏名称。我正在使用此功能自动呈现下一个场景:

func presentScene(from: SKScene, model: SceneModel)
    {
        gamestate.update(scene: model)
        soundboard.pause(fadeDuration: 1)

        switch model.type
        {
        case .game(let name, _, _):
            if let game = SKScene(fileNamed: "GameScene") as? GameScene {
                game.model = model
                from.view?.presentScene(game, transition: SKTransition.fade(withDuration: 0.6))
            }

        case .text(_):
            if let text = SKScene(fileNamed: "TextScene") as? TextScene {
                text.model = model
                from.view?.presentScene(text, transition: SKTransition.fade(withDuration: 0.6))
            }

        case .video(_, _, _):
            if let video = SKScene(fileNamed: "VideoScene") as? VideoScene {
                video.model = model
                from.view?.presentScene(video, transition: SKTransition.fade(withDuration: 0.6))
            }
        }
    }

所以我的问题是:我可以使用字符串变量获得一种自定义游戏类吗?像这样

let nameString = "dakjsdljk"    
if let game = SKScene(fileNamed: nameString) as? nameString {

    } 

还是唯一的方法是创建带有游戏类型的枚举,并手动从原始字符串初始化其值?

0 个答案:

没有答案