我现在正在使用Sprite-Kit场景,并且我想通过gamescene.swift以编程方式将背景设置为名为“bgimage”的图像。 我该怎么做?
import UIKit
import SpriteKit
import CoreGraphics
class gameScene: SKScene {
}
我现在正在使用Sprite-Kit场景,并且我想通过gamescene.swift以编程方式将背景设置为名为“bgimage”的图像。 我该怎么做?
import UIKit
import SpriteKit
import CoreGraphics
class gameScene: SKScene {
}
你可以将背景图像声明为一个SKSpriteNode
,将其位置设置在屏幕中央并添加到你的场景中。
import UIKit
import SpriteKit
class gameScene: SKScene {
var background = SKSpriteNode(imageNamed: "bgimage")
override func didMoveToView(view: SKView) {
background.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
addChild(background)
}
}
还要确保您在images.xcassets目录中拥有图像。
import UIKit
import SpriteKit
import CoreGraphics
class gameScene: SKScene {
var background = SKSpriteNode(imageNamed: "bgimage")
override func didMoveToView(to view: SKView) {
background.zPosition = 1
background.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
addChild(background)
}
}
zPosition应该比游戏场景中的所有其他节点都要低。
override func didMove(to view: SKView) {
另外,感谢关于zPosition的提示。 - Canuk全尺寸图像背景
override func didMove(to view: SKView) {
super.didMove(to:view)
DispatchQueue.main.async{
self.background.zPosition = 0
self.background.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
self.background.size = CGSize(width: self.size.width, height: self.size.height)
self.addChild(self.background)
}
}
gameScene
替换为GameScene
,但不是必须的。 - Tiago Marinho