Swift - 将 .scn 添加到精灵视图
Swift - add .scn to sprite view
我正在尝试将 .scn
文件添加到我的 sprite 视图,但出现此错误:-[SCNScene removeFromParent]: unrecognized selector sent to instance 0x600000628d80
。如何将 .scn
文件添加到我的 spriteview
中?
var body: some View {
ZStack {
SpriteView(scene: spriteScene)
}
.edgesIgnoringSafeArea(.all)
}
lazy var spriteScene: SKScene = {
let scene = SKScene(fileNamed: "rocketSpriteView")!
scene.scaleMode = .aspectFill
scene.addChild(particleEmitter!)
scene.addChild(rocketSprite!)
return scene
}()
var particleEmitter: SKEmitterNode? {
return SKEmitterNode(fileNamed: "Particle.sks")
}
var rocketSprite: SKNode? {
let node = SKNode(fileNamed: "rocket.scn")
node?.removeFromParent()
return node
}
.scn
文件是SceneKit场景文件,不能直接在SKNode
上加载。
您可以通过以下方式在 SCNScene 上加载场景文件:
let scene: SCNScene? = SCNScene(named: "Art.scnassets/rocket.scn")
然后你可以访问根节点:
let node: SCNNode = scene.rootNode
我正在尝试将 .scn
文件添加到我的 sprite 视图,但出现此错误:-[SCNScene removeFromParent]: unrecognized selector sent to instance 0x600000628d80
。如何将 .scn
文件添加到我的 spriteview
中?
var body: some View {
ZStack {
SpriteView(scene: spriteScene)
}
.edgesIgnoringSafeArea(.all)
}
lazy var spriteScene: SKScene = {
let scene = SKScene(fileNamed: "rocketSpriteView")!
scene.scaleMode = .aspectFill
scene.addChild(particleEmitter!)
scene.addChild(rocketSprite!)
return scene
}()
var particleEmitter: SKEmitterNode? {
return SKEmitterNode(fileNamed: "Particle.sks")
}
var rocketSprite: SKNode? {
let node = SKNode(fileNamed: "rocket.scn")
node?.removeFromParent()
return node
}
.scn
文件是SceneKit场景文件,不能直接在SKNode
上加载。
您可以通过以下方式在 SCNScene 上加载场景文件:
let scene: SCNScene? = SCNScene(named: "Art.scnassets/rocket.scn")
然后你可以访问根节点:
let node: SCNNode = scene.rootNode