Swift: Публичный Skscene не представлен с именем filename?
Хорошо, я работаю на игровых площадках 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 ответ
Да, это возможно, но в данный момент ваш объект Gamscene равен нулю. Это потому что 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
Вот пример для начала ^^