我正在使用SpriteKit库构建iOS游戏。我有星星的背景。但是,我不想上传静态图片,因为它可能会根据设备大小不正确地缩放。所以我得到了一个png,我重复一遍以填满屏幕。我试过这样做:
self.backgroundColor = UIColor(patternImage: UIImage(named: "background.png")!);
但是,它只将背景设置为黑色。有没有人对如何做到这一点有任何建议?
答案 0 :(得分:0)
我认为这会对您有所帮助,首先使用以下代码设置背景:
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)
}
}
})