gpt4 book ai didi

swift - 将背景移动到无限滚动有助于 Swift Sprite Kit

转载 作者:行者123 更新时间:2023-11-30 14:12:40 24 4
gpt4 key购买 nike

我无法理解我在这里做错了什么。它应该无限向下滚动,我无法修复它。救命!

 func moveBackground() {

let moveBackground = SKAction.moveByX(0, y: -self.size.height, duration: 1.0)
let repeatBackground = SKAction.repeatActionForever(moveBackground)
let removeBackground = SKAction.removeFromParent()
let sequenceThis = SKAction.sequence([moveBackground, repeatBackground, removeBackground])
}
func repeatBackground() {

let generateBackground = SKAction.sequence([
SKAction.runBlock(self.moveBackground),
SKAction.waitForDuration(2.7)])
let endlessAction = SKAction.repeatActionForever(generateBackground)
runAction(endlessAction)
}



override func didMoveToView(view: SKView) {
scene?.scaleMode = .AspectFill


var backgroundTexture = SKTexture(imageNamed: "Background.png")
background.position = CGPoint(x: self.frame.size.width/2, y: self.frame.size.height/2)
background.texture = backgroundTexture
background.size.width = self.frame.size.width
background.size.height = self.frame.size.height
self.addChild(background)

}

每当我运行应用程序时,背景都会保持在其位置并且不会移动。

最佳答案

首先,moveBackground() 除了创建操作之外不执行任何操作,也不运行它们。您可能最终忘记运行 runAction(sequenceThis)

还有很多问题,例如,您出于某种原因删除了 Sprite ,但使操作永远重复,它将再次删除该 Sprite ,但没有任何东西将其添加回来。

repeatBackground() 永远运行 moveBackground() 但它不会创建新的背景,它只是永远移动一个背景。

最后,didMoveToView 不会调用 repeatBackground() 也不会调用 moveBackground()

关于swift - 将背景移动到无限滚动有助于 Swift Sprite Kit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31594212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com