问题描述
最近开始研究spratkite。我遇到了一个问题。 创造了一个动人的背景。如何改变它的速度?
import SpriteKit
import GameplayKit
class BgDeceleration {
//Background Speed
var bgDuration : Double = 5
//Toggle
var bgToggle = true {
willSet {bgDuration = bgToggle ? 5.0 : 10.0}
didSet {}
}
}
let course = bgDeceleration()
class GameScene: SKScene {
//Textures
var bgTexture: SKTexture!
//Sprite Nodes
var bg = SKSpriteNode()
//Sprite Objects
var bgObject = SKNode()
override func didMove(to view: SKView) {
//Background Textures
bgTexture = SKTexture(imageNamed: "bg.png")
createObjects()
createGame()
}
func createObjects() {
self.addChild(bgObject)
}
func createGame() {
createBg()
}
func createBg() {
bgTexture = SKTexture(imageNamed: "bg.png")
let moveBg = SKAction.moveBy(x: -bgTexture.size().width,y: 0,duration: bgDeceleration.bgDuration)
let replaceBg = SKAction.moveBy(x: bgTexture.size().width,duration: 0)
let moveBgForever = SKAction.repeatForever(SKAction.sequence([moveBg,replaceBg]))
for i in 0..<3 {
bg = SKSpriteNode(texture: bgTexture)
bg.position = CGPoint(x: bgTexture.size().width * CGFloat(i),y: size.height/2.0)
bg.size.height = self.frame.height
bg.run(moveBgForever)
bg.zPosition = -1
bgObject.addChild(bg)
}
}
}
extension GameScene {
override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?) {
//Toggle
bgDeceleration.bgToggle.toggle()
}
}
找到了解决办法。但它不起作用 Gradually increasing speed of scrolling background in SpriteKit 可能是因为 swift 版本。 如果可能,请分享解决方案
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)