我的场景中有一个SKCamera,它随着一个可以抛出的球移动。我想制作无休止的滚动背景,但是当我这样做时,相机就会离开背景。有谁知道怎么做?
答案 0 :(得分:1)
我做了垂直滚动背景,如下所示:
创建背景类:
import SpriteKit
class BGClass: SKSpriteNode {
func moveBG(camera: SKCameraNode) {
if self.position.y - self.size.height - 10 > camera.position.y {
self.position.y -= self.size.height * 3
}
}
}
创建3个背景:
var bg1 : BGClass?
var bg2 : BGClass?
var bg3 : BGClass?
在GameScene中创建一个函数
func manageBackgrounds() {
bg1?.moveBG(mainCamera!)
bg2?.moveBG(mainCamera!)
bg3?.moveBG(mainCamera!)
}
在Update中调用manageBackground():
override func update(currentTime: NSTimeInterval) {
mangePlayer()
moveCamera()
mangeBackgrounds()
createNewClouds()
}
对于水平滚动(相互添加3个背景图像并在第一个图像上设置相机):
更改背景类:
import SpriteKit
class BGClass: SKSpriteNode {
func moveBG(camera: SKCameraNode) {
if self.position.x - self.size.width - 10 > camera.position.x {
self.position.x -= self.size.width * 3
}
}
}
移动相机功能:
func moveCamera() {
self.mainCamera?.position.x += 3
}