我使用 SpriteKit 为 iOS 制作了一个游戏。
现在我还想制作 watchOS 的版本。
我添加了一个新目标,然后这些文件出现在我面前:

ios - Apple Watch 上的 SpriteKit - 如何呈现场景?-LMLPHP

如果我删除 sks 文件,然后像我在 iOS 游戏中所做的那样尝试呈现一个 swift 场景,场景看起来是空的...所以我唯一能做的就是让 scene.sks 文件保持原样。

有人可以向我解释如何在不使用 sks 文件的情况下在 interfaceController.swift 中呈现一个新的 scene.swift 文件吗?

这是展示 sks 场景的 InterfaceController.swift 文件,但我想展示我自己的 swift 场景。

ios - Apple Watch 上的 SpriteKit - 如何呈现场景?-LMLPHP

此致。

最佳答案

GameScene(filenamed:) 与 `YourScene(size:) 交换。

你的场景是 SKView 的一个子类,它有它们的主要初始化器......这是我展示的那个的链接:

https://developer.apple.com/reference/spritekit/skscene/1520435-init

所以 (filenamed:) 是一个初始化器(用于 .sks),(size:) 是另一个初始化器,因为没有 .sks。这些初始化程序与您用于所有自己的类的初始化程序完全相同。

这不是很明显,因为当您制作自己的 GameScene: SKScene 时,您没有指定初始化程序(因为它们是从您刚刚继承的 SKScene 继承的)

下面的视频还涵盖了 AW 上 SK 的大部分必要内容......它带有时间戳以解释更多你正在做的事情:

https://youtu.be/REv-w2rBsng?t=1173

上面视频中的信息几乎是我在其他任何地方都找不到的,因此我强烈建议您从头到尾观看。

笔记:
(最后我检查)

您的原版 SKScene 无法在 watch 上使用,因为它们缺少某些功能(如 touchesBegan),因为您不再使用 SKView 来呈现您的场景。所以,你必须使用手势识别器..

这里解释了如何解决这些问题:

TouchEvents in watchOS 3 SpriteKit?

关于ios - Apple Watch 上的 SpriteKit - 如何呈现场景?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41450127/

10-13 07:25