gpt4 book ai didi

swift - 我可以在 SKCamera 中制作无限滚动背景吗?

转载 作者:行者123 更新时间:2023-11-28 06:27:50 24 4
gpt4 key购买 nike

我的场景中有一个 SKCamera,它随着一个可以抛出的球移动。我想制作一个无限滚动的背景,但是当我这样做时,相机就离开了背景。有人知道怎么做吗?

最佳答案

我做了这样的垂直滚动背景:

  • 创建背景类:

    import SpriteKit

    class BGClass: SKSpriteNode {

    func moveBG(camera: SKCameraNode) {
    if self.position.y - self.size.height - 10 > camera.position.y {
    self.position.y -= self.size.height * 3
    }
    }
    }
  • 创建 3 个背景:

    var bg1 : BGClass?
    var bg2 : BGClass?
    var bg3 : BGClass?
  • 在 GameScene 中创建一个函数

    func manageBackgrounds() {
    bg1?.moveBG(mainCamera!)
    bg2?.moveBG(mainCamera!)
    bg3?.moveBG(mainCamera!)
    }
  • 在更新中调用 manageBackground():

    override func update(currentTime: NSTimeInterval) {
    mangePlayer()
    moveCamera()
    mangeBackgrounds()
    createNewClouds()
    }

对于水平滚动(依次添加3张背景图片并将相机设置在第一张图片上):

  • 像这样改变背景类:

    import SpriteKit

    class BGClass: SKSpriteNode {

    func moveBG(camera: SKCameraNode) {
    if self.position.x - self.size.width - 10 > camera.position.x {
    self.position.x -= self.size.width * 3
    }
    }
    }
  • 在移动相机功能中:

    func moveCamera() {
    self.mainCamera?.position.x += 3
    }

关于swift - 我可以在 SKCamera 中制作无限滚动背景吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41338631/

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