【问题标题】:Setting a repeated background in an SKScene在 SKScene 中设置重复背景
【发布时间】:2017-09-01 13:28:46
【问题描述】:

我正在使用 SpriteKit 库构建 iOS 游戏。我有明星背景。但是,我不想上传静态图像,因为它可能会根据设备大小不正确地缩放。所以我得到了一个 png,我重复一遍以填满屏幕。我试过这样做:

 self.backgroundColor = UIColor(patternImage: UIImage(named: "background.png")!);

但是,它只将背景设置为黑色。有人对如何做到这一点有任何建议吗?

【问题讨论】:

  • @the4kman 我也试过了,但没有成功
  • 你可以考虑使用particles来创建星星。
  • 您是否考虑过使用平铺地图?

标签: swift sprite-kit


【解决方案1】:

我想这会对你有所帮助,首先使用以下代码设置背景:

for index in 0..<2 {
            let bg = SKSpriteNode(imageNamed: "Your image name")
            bg.position = CGPoint(x: index * Int(bg.size.width), y: 0)
            bg.anchorPoint = CGPoint(x: 0, y: 0)
            bg.name = "background"

            self.addChild(bg)
        }

然后使用此代码移动背景:

self.enumerateChildNodes(withName: "background", using: {(node, stop) -> Void in
            if let bg = node as? SKSpriteNode {
                bg.position = CGPoint(x: bg.position.x - 3.0, y: bg.position.y)

                if bg.position.x <= -bg.size.width {
                    bg.position = CGPoint(x: bg.position.x + bg.size.width * 2, y: bg.position.y)
                }
            }
        })

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 2014-07-01
    • 2014-07-22
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多