在 SpriteKit 项目中包含一个 UIKit 小游戏

Posted

技术标签:

【中文标题】在 SpriteKit 项目中包含一个 UIKit 小游戏【英文标题】:Including a UIKit mini-game into a SpriteKit project 【发布时间】:2020-01-18 00:49:44 【问题描述】:

所以我在 UIKit 中做了一个测验应用程序,显示一个问题,四个答案可供选择等。但是由于这个项目包含多个迷你游戏,所以项目的其余部分是用 SpriteKit 编写的。在 SpriteKit 中重写测验应用程序是否值得,或者有什么方法可以将这个 UIKit 迷你游戏包含到 SpriteKit 项目中。 我已经尝试过使用这样的两个类:

public class GameScene: SKScene  

    public var orientation: UIInterfaceOrientation!
    let QuizScene = QuizScene()

    override public func didMove(to view: SKView) 

        fireQuizScene.setUpBushfireQuiz()

    

 

但它似乎不起作用。任何帮助将不胜感激。谢谢!

【问题讨论】:

对于不喜欢的用户,请评论您的推理,以便我知道如何改进我的问题。谢谢! 当然你可以在 SpriteKit 项目中包含你的 UIKit 游戏。你的 UIKit 游戏是否在单独的视图控制器上? 是的,UIKit 游戏位于单独的视图控制器上。正如您从上面的代码中看到的那样,我正在尝试初始化 Quiz 视图控制器,然后从中运行一个设置游戏的函数。有没有办法我可以做到这一点,你知道吗?提前致谢 【参考方案1】:

在游戏中坚持使用 SpriteKit,在测验中坚持使用 UIKit。

Apple 决定开发 SpriteKit,因为 UIKit 没有合适的工具来创建游戏。

在 Sprite Kit 出现之前,人们需要自己使用 open gl 框架创建上下文窗口,这确实很麻烦。

UIKit 具有很好的功能,可以让您的应用在所有设备上保持响应,这要归功于 SpriteKit 所没有的限制。

Sprite Kit 和 UI 工具包很好地集成在一起,所以不用担心在 SpriteKit 中使用您的游戏。

只需在 UIKit 中进行测验,并在游戏时间为 sprite kit 弹出一个 SKView。

【讨论】:

以上是关于在 SpriteKit 项目中包含一个 UIKit 小游戏的主要内容,如果未能解决你的问题,请参考以下文章

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

SpriteKit 集成到 UIKit [重复]

如何混合 UIKit 和 SpriteKit?

在不同的 UIKit 和 SpriteKit 场景中连续播放音频

iOS 混合 Spritekit 和 UIKit

如何使用 XCUITest 查询 SwiftUI 表格单元格