如何混合 UIKit 和 SpriteKit?

Posted

技术标签:

【中文标题】如何混合 UIKit 和 SpriteKit?【英文标题】:How do I mix UIKit and SpriteKit? 【发布时间】:2015-02-14 15:04:25 【问题描述】:

我正在用 Swift 制作游戏。我同时使用了 UIKit 和 SpriteKit,但从未在同一个应用程序中使用过。我想知道如何利用它们两者的力量(它们将是很多菜单)。如果您知道我可以使用或可以告诉我的教程,我将不胜感激。我也想知道在 xcode 中是否有这样的快捷方式(例如故事板)

【问题讨论】:

“如何利用两者的力量”......你想用一句话和礼物包装来回答这个问题吗?这个问题太宽泛了,我们甚至不知道你想要完成什么。 嗨,我写了一篇关于如何使用可下载项目执行此操作的教程。有兴趣的可以去:xcodenoobies.blogspot.my/2016/11/how-to-embed-spritekit-in.html 【参考方案1】:

我强烈建议您坚持使用 SpriteKit 并使用 SKNodes 创建菜单等。我知道在游戏中使用 UIKit 来制作按钮等确实很诱人,但在 SpriteKit 中你有很多可能性,它取代了 UIKit 元素。

例如,您可以使用SKLabelNode 而不是UILabel。此外,您在 SpriteKit 中还有更多可能使您的菜单“流畅”(例如 SKTransitionSKAction)。

另外一个菜单按钮的例子是:

//Button
var playButton = SKSpriteNode(imageNamed: "yourImage.png")
playButton.position = CGPointMake(300, 300)

playButton.name = "playButton"

addChild(playButton)

然后在您的 touchesBegan 方法中,您可以处理按钮触摸。

仅使用 SpriteKit 的一个非常重要的一点是,您可以在几个小时内将 ios 游戏移植到 OSX。

【讨论】:

以上是关于如何混合 UIKit 和 SpriteKit?的主要内容,如果未能解决你的问题,请参考以下文章

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

SpriteKit 集成到 UIKit [重复]

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

UIKit:如何将多个 CALayer 混合到一个视图层中?

混合 OpenGL 和 UIKit

在SwiftUI项目中使用UIKit(SwiftUI和UIKit混合开发)