[英]Repeating Background with SpriteKit and Swift
Im playing around with swift and i would like to make a simple game using SpriteKit. 我玩得很快,我想用SpriteKit做一个简单的游戏。 In the background of the app is texture image that should repeat. 应用程序的背景是应重复的纹理图像。
I mean like [img][img][img][img] 我的意思是像[img] [img] [img] [img]
How can i do this? 我怎样才能做到这一点?
In aditional I want to move it forever. 除其他外,我想永远移动它。 But I already solved this part. 但是我已经解决了这一部分。
Here is my code: 这是我的代码:
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)
}
Try using a for loop after making your background move. 使背景移动后,尝试使用for循环。 Like this: 像这样:
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)
} ## } ##
I hope this helps! 我希望这有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.