斯威夫特:公共 Skscene 没有以文件名呈现?
Posted
技术标签:
【中文标题】斯威夫特:公共 Skscene 没有以文件名呈现?【英文标题】:Swift: Public Skscene not presenting with filenamed? 【发布时间】:2017-03-22 23:40:26 【问题描述】:好的,我在这里的 Swift 游乐场工作,不知道如何呈现另一个类的 SkScene。到目前为止,我已将这个 SKScene 文件 GameScene.swift 放在我的 Sources 文件夹中并公开。
在我尝试过的主要游乐场文件中:
import PlaygroundSupport
import SpriteKit
import XCPlayground
import Foundation
let frame = CGRect(x: 0, y: 0, width: 500, height: 600) //view size
let view = SKView(frame: frame)
let scene = GameScene(fileNamed: "GameScene")
//scene.backgroundColor = NSColor.blue
view.presentScene(scene)
view.showsFPS = true;
PlaygroundPage.current.liveView = view
连同我在堆栈溢出中可以找到的任何其他答案。没有任何工作 - 游乐场时间线只是一个空白灰色,这是输出:
这不可能吗?
【问题讨论】:
【参考方案1】:是的,我有可能,但目前你的游戏场景对象是零。这是因为GameScene(filenamed: "" )
仅在您拥有场景构建器时才有效。希望你不要在 Xcode 中使用。
相反。使用
GameScene(size: CGSize)
并确保您使用
创建游戏场景 class GameScene : SKScene
override sceneDidLoad()
super.sceneDidLoad()
然后从视图中呈现您的场景
let sceneSize = CGSize(width: 250, height: 550)
let scene = GameScene(size: sceneSize)
let viewRect = CGRect(x: 0, y: 0, width: 250, height: 550)
let skView = SKView(frame: viewRect)
skView.presentScene(scene)
PlaygroundPage.current.liveView = skView
这是一个让你开始的例子^^
【讨论】:
以上是关于斯威夫特:公共 Skscene 没有以文件名呈现?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SKScene 呈现 UIAlertController
呈现 SKScene 后取消隐藏 UIButtons 时延迟?
SKScene touchesEnded 第二次呈现场景时未调用
如何在 SKScene 中呈现 UIViewController?