2
私はFlappy Birdのようなゲームを作ろうとしており、バックグラウンドループを無限にしなければなりません。私はチュートリアルをオンラインで見つけましたが、それは私のために働いていないだけで、理由を理解することはできません。Swift 3 - バックグラウンドループが正しく機能しない
これは、これまで
var Background = SKSpriteNode()
var txtBG = SKTexture(imageNamed: "Background")
var txtLand = SKTexture(imageNamed: "Ground")
var Ground = SKSpriteNode()
var moving:SKNode!
// Cena
override func didMove(to view: SKView) {
scene?.anchorPoint = CGPoint(x: 0, y: 0)
moving = SKNode()
self.addChild(moving)
//Ground
Ground = SKSpriteNode(texture: txtLand)
Ground.position = CGPoint(x:0, y: txtLand.size().height * 1.3)
Ground.setScale(2.5)
self.addChild(Ground)
//Background
Background = SKSpriteNode(texture: txtBG)
Background.setScale(2.0)
Background.position = CGPoint(x: self.size.width, y: txtLand.size().height * 5.2)
let BGmove = SKAction.moveBy(x: -txtBG.size().width * 2.0, y: txtLand.size().height * 5.2 , duration: TimeInterval(15))
let BGRepo = SKAction.moveBy(x: txtBG.size().width * 2.0, y: txtLand.size().height * 5.2, duration: 0.0)
let BGLoop = SKAction.repeatForever(SKAction.sequence([BGmove,BGRepo]))
for i in 0 ..< 2 + Int(self.frame.size.width/(txtBG.size().width * 2)) {
let i = CGFloat(i)
Background = SKSpriteNode(texture: txtBG)
Background.setScale(2.0)
Background.position = CGPoint(x:txtBG.size().width/2 + txtBG.size().width * i * 2.0, y: txtLand.size().height * 5.2)
Background.run(BGLoop)
self.addChild(Background)
}
何が起こる背景には水平移動だけでなく、上向きに移動すると、私はその理由を理解していないし始めている私のコードです。
ご協力いただければ幸いです。