2
所以我正在研究一個需要使用兩個或更多不同相機節點的項目。問題是,當我要求激活並使用第二個攝像機節點時,出現信號SIGABRT錯誤。我想我明白爲什麼會發生這個錯誤,因爲已經有一個活動的攝像機節點。但是,我的問題是我是否可以在一個場景中,在不同的時間和不同的位置使用兩個攝像機節點。感謝您的任何幫助!Spritekit(Swift)允許使用兩個不同的Camera節點嗎?
所以我正在研究一個需要使用兩個或更多不同相機節點的項目。問題是,當我要求激活並使用第二個攝像機節點時,出現信號SIGABRT錯誤。我想我明白爲什麼會發生這個錯誤,因爲已經有一個活動的攝像機節點。但是,我的問題是我是否可以在一個場景中,在不同的時間和不同的位置使用兩個攝像機節點。感謝您的任何幫助!Spritekit(Swift)允許使用兩個不同的Camera節點嗎?
是的,你可以:
class GameScene: SKScene {
let cam1 = SKCameraNode()
let cam2 = SKCameraNode()
override func didMove(to view: SKView) {
addChild(cam1)
addChild(cam2)
addChild(SKSpriteNode(color: .blue, size: CGSize(width: 50, height: 50)))
cam1.position.x -= 100
cam2.position.x += 100
camera = cam1
}
func swapCam() {
guard let cam = self.camera else { fatalError() }
if cam === cam1 {
camera = cam2
} else if cam === cam2 {
camera = cam1
} else { fatalError() }
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
swapCam()
}
}
輕敲屏幕從左CAM1跳到右CAM2,改變內置的 「Hello World」 和藍色方塊我說的知名度。
你的問題與SKS文件(可能是錯誤的名稱?)有關,或者將!
放在SKCameraNode的末尾(不知道爲什麼會出現這個問題)。
非常感謝我的朋友!這非常幫助我!非常感謝! :) – Balaach