我有一個移動背景,其是1500 x 600個像素不斷使用此代碼垂直向下移動屏幕:Swift Game Scene隨時間改變垂直移動背景?
let bgTexture = SKTexture(imageNamed: "bg.png")
let moveBGanimation = SKAction.move(by: CGVector(dx: 0, dy: -bgTexture.size().height), duration: 4)
let shiftBGAnimation = SKAction.move(by: CGVector(dx: 0, dy: bgTexture.size().height), duration: 0)
let moveBGForever = SKAction.repeatForever(SKAction.sequence([moveBGanimation, shiftBGAnimation]))
var i: CGFloat = 0
while i < 3 {
bg = SKSpriteNode(texture: bgTexture)
bg.position = CGPoint(x: self.frame.midX, y: bgTexture.size().height * i)
bg.size.width = self.frame.width
bg.zPosition = -2
bg.run(moveBGForever)
self.addChild(bg)
i += 1
}
我現在要一個新的背景後的時間,得到x量來在屏幕上覺得玩家正在進入遊戲的另一部分。
我可以把這段代碼放到一個函數中,並在20秒後用NSTimer觸發它,但將新bg的起始位置改爲離屏?