-1
import SpriteKit
class GameScene: SKScene {
let bgline1 = SKSpriteNode(imageNamed: "Line.png")
let bgline2 = SKSpriteNode(imageNamed: "Line.png")
override func didMoveToView(view: SKView) {
/* Setup your scene here */
backgroundColor = SKColor.whiteColor()
bgline1.anchorPoint = CGPointZero
bgline1.position = CGPointZero
bgline1.zPosition = 1
bgline1.size = CGSizeMake(self.frame.size.width, self.frame.size.height)
self.addChild(bgline1)
bgline2.anchorPoint = CGPointZero
bgline2.position = CGPointMake(bgline1.position.x-1, 0)
bgline2.zPosition = 1
bgline2.size = CGSizeMake(self.frame.size.width, self.frame.size.height)
self.addChild(bgline2)
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch in (touches as! Set<UITouch>) {
let location = touch.locationInNode(self)
}
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered*/
bgline1.position = CGPoint(x: bgline1.position.x-4, y: bgline1.position.y)
bgline2.position = CGPoint(x: bgline2.position.x-4, y: bgline2.position.y)
if bgline1.position.x < -bgline1.size.width{
bgline1.position = CGPointMake(bgline2.position.x + bgline2.size.width, bgline1.position.y)
}
if bgline2.position.x < -bgline2.size.width{
bgline2.position = CGPointMake(bgline1.position.x + bgline1.size.width, bgline2.position.y)
}
}
}
這是我創建滾動水平無盡背景的代碼。它應該做出無盡的背景,但事實並非如此。該代碼不是循環第一次嘗試,但在此之後。我想知道爲什麼它不起作用,我應該如何解決它。如何在Swift中創建無限的橫向背景?
編輯 - 從2個節點開始,一條線和fps是< 20.然後線結束,當它「用完」時,節點數變爲0,fps變爲60.比幾秒鐘後線會彈出備份和它像一個無盡的滾動背景完美運行。
你需要解釋什麼是不工作。它在做什麼?它在幹什麼? – Fogmeister
我補充說錯了什麼。 – Rohorao
我沒有看到任何代碼將第一個圖像移回到起始點,一旦它完全移出屏幕。 – Steve