SpriteKit在AppleWatch上 - 如何呈现场景?

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

enter image description here

如果我删除sks文件,然后像iOS游戏那样呈现swift场景,场景将会变为空白...所以我唯一能做的就是保留scene.sks文件不变。
有人可以友好地解释一下如何在interfaceController.swift中呈现新的scene.swift文件而不使用sks文件吗?
这里是InterfaceController.swift文件,它呈现了sks场景,但我想呈现自己的swift场景。

Code

最好的祝愿。


欢迎来到StackOverflow,Daniele。您可以在这个SO答案中找到您需要的所有示例。 - Alessandro Ornano
1个回答

3

GameScene(filenamed:)替换为`YourScene(size:)。

您的场景是SKView的子类,具有它们的主要初始化程序...这里是我展示的链接:

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

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

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

下面的视频还涵盖了AW上大部分必要的内容..时间戳解释了更多的内容:

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

我找不到其他地方的上述视频信息,因此强烈建议您从头到尾观看。


注意: (我最后检查过)

您的原始SK场景在手表上无法使用,因为它们缺少某些功能(例如touchesBegan),因为您不再使用SKView来呈现场景。因此,您必须使用手势识别器。

这里解释了如何绕过这些问题:

TouchEvents in watchOS 3 SpriteKit?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接