如何将 swift 文件与 SKscene 连接?

Posted

技术标签:

【中文标题】如何将 swift 文件与 SKscene 连接?【英文标题】:How can you connect a swift file with an SKscene? 【发布时间】:2016-03-14 21:28:30 【问题描述】:

我浏览了所有帖子、WWDC 演讲和 youtube 视频,但我仍然无法弄清楚如何使用 Spritekit 在游戏中为不同级别创建多个 SKscenes 并连接它们与 swift 文件。我想要一个主关卡,如果你按下一个 SKSpriteNode,我设法打开了一个新场景,但是我怎样才能为这个特定的 SKScene 实现游戏逻辑呢? 如果这是一个愚蠢的问题,请提前道歉,我已经花费了很长时间。

【问题讨论】:

你想从你目前所在的地方推出一个新的 SKScene 吗? 【参考方案1】:

你可以这样做:

1) 创建.swift 文件并创建SKScene 的子类

转到:

文件菜单 -> 新建文件 -> 源代码 -> Swift 文件

并创建一个 SKScene 的子类

class MenuScene:SKScene 

2) 创建 .sks 文件

然后去

文件菜单 -> 新建文件 -> 资源 -> SpriteKit 场景

并创建一个MenuScene.sks(将其命名为MenuScene,不带实际扩展名)。

对您想要的每个场景重复此步骤。

然后加载并开始您的初始场景。在您的GameViewController.swift 中执行此操作:

if let scene = GameScene(fileNamed:"GameScene") 
      let skView = self.view as! SKView
      //setup your scene here
      skView.presentScene(scene)

要过渡到其他场景(假设您目前在MenuScene 中),您应该执行以下操作:

if let nextScene = GameScene(fileNamed: "GameScene")
  nextScene.scaleMode = self.scaleMode                 
  let transition = SKTransition.fadeWithDuration(1)                  
  view?.presentScene(nextScene, transition: transition)

【讨论】:

另外,在这里阅读更多关于在 SpriteKit 项目中拥有多个场景的信息。 ***.com/a/35409586/3402095 您的帖子很有帮助,我现在可以正常使用了,我还阅读了其他帖子,您链接的内容也很有帮助,非常感谢您的好回答!

以上是关于如何将 swift 文件与 SKscene 连接?的主要内容,如果未能解决你的问题,请参考以下文章

斯威夫特:公共 Skscene 没有以文件名呈现?

如何将动作从 SKScene 组件传播到 UIViewController

如何在 Swift Playgrounds 中使用带有纹理的 SKNode 设置 SKScene?

如何使用 Swift 正确切换 SpriteKit 中的 SKScene?

Swift SKScene 在 Objective-C 项目中显示为空白

如何从 Swift SpriteKit 中的另一个 SKScene 访问变量