微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

精灵套件如何更改后台速度?

如何解决精灵套件如何更改后台速度?

最近开始研究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 举报,一经查实,本站将立刻删除。