繁体   English   中英

用SpriteKit和Swift重复背景

[英]Repeating Background with SpriteKit and Swift

我玩得很快,我想用SpriteKit做一个简单的游戏。 应用程序的背景是应重复的纹理图像。

我的意思是像[img] [img] [img] [img]

我怎样才能做到这一点?

除其他外,我想永远移动它。 但是我已经解决了这一部分。

这是我的代码:

 func generateWave(){

    var wave: SKSpriteNode = SKSpriteNode(imageNamed: "wave")

    var moveWave = SKAction.moveByX(-wave.size.width * 2.0, y: 0, duration: NSTimeInterval(0.02 * wave.size.width * 2.0))
    var resetWave = SKAction.moveByX(wave.size.width * 2.0, y: 0, duration: 0.0)
    var moveWaveForever = SKAction.repeatActionForever(SKAction.sequence([moveWave,resetWave]))

    wave.position = CGPoint(x:CGFloat(1),y:CGFloat(10))

    wave.runAction(moveWaveForever)

    self.addChild(wave)

}

使背景移动后,尝试使用for循环。 像这样:

    bgTexture = SKTexture(imageNamed: "wave")
    var movebg = SKAction.moveByX(-bgTexture.size().width, y: 0, duration: 9)
    var replacebg = SKAction.moveByX(bgTexture.size().width, y: 0, duration: 0)
    moveForever = SKAction.repeatActionForever(SKAction.sequence([movebg, replacebg]))
    for var i:CGFloat=0; i<3; i++ {

        wave = SKSpriteNode(texture: bgTexture)
        wave.position = CGPoint(x: bgTexture.size().width/2 + bgTexture.size().width * i, y: CGRectGetMidY(self.frame))
        wave.size.height = self.frame.height

        wave.runAction(moveForever)

        self.addChild(wave) 

} ##

我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM