SpriteKit:白色背景作为 SKScene
SpriteKit: White Background As SKScene
我有一个 Swift 项目,其中包括 SpriteKit
框架。当我 运行 程序上没有任何内容时,屏幕是黑色的,节点计数器为 1。 Main.storyboard
是完全白色的,其中的 class 设置为 SKView
.节点计数器是否错误?它不应该是 0 吗?为什么背景是黑色而不是白色?
可能是一些必要的错误代码:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene() // class GameScene is a subclass of SKScene
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = false
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
scene.size = skView.bounds.size
scene.anchorPoint = CGPointMake(0,0);
skView.presentScene(scene)
}
节点计数器是对的。首先,您使用以下代码行为 skView
对象设置节点计算器:
skView.showsNodeCount = true
然后使用此行向此 skView
添加对象:
skView.presentScene(scene)
此操作将节点计数器设置为 1
。您的场景是 skView
上的单个节点
关于黑屏:这是场景的默认背景颜色,您可以使用以下代码更改它,例如:
scene.backgroundColor = UIColor.redColor()
你的场景会是红色的
我有一个 Swift 项目,其中包括 SpriteKit
框架。当我 运行 程序上没有任何内容时,屏幕是黑色的,节点计数器为 1。 Main.storyboard
是完全白色的,其中的 class 设置为 SKView
.节点计数器是否错误?它不应该是 0 吗?为什么背景是黑色而不是白色?
可能是一些必要的错误代码:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene() // class GameScene is a subclass of SKScene
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = false
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
scene.size = skView.bounds.size
scene.anchorPoint = CGPointMake(0,0);
skView.presentScene(scene)
}
节点计数器是对的。首先,您使用以下代码行为 skView
对象设置节点计算器:
skView.showsNodeCount = true
然后使用此行向此 skView
添加对象:
skView.presentScene(scene)
此操作将节点计数器设置为 1
。您的场景是 skView
关于黑屏:这是场景的默认背景颜色,您可以使用以下代码更改它,例如:
scene.backgroundColor = UIColor.redColor()
你的场景会是红色的