我浏览了所有帖子,WWDC会谈和youtube视频,但我仍然无法弄清楚如何在不同级别使用多个SKscenes并使用Spritekit将它们与游戏中的swift文件连接起来。我想拥有一个主级别板,如果按下SKSpriteNode,我设法打开一个新场景,但是如何为这个特定的SKScene实现游戏逻辑? 如果这是一个愚蠢的问题,请提前道歉,我已经花了很长时间。
答案 0 :(得分:6)
你可以这样做:
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)
}