如何解决精灵套件如何更改后台速度?
最近开始研究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 举报,一经查实,本站将立刻删除。