【发布时间】:2014-06-18 06:43:46
【问题描述】:
在纵向模式下,我在0,0 的位置创建了一个SKShapeNode。然而它似乎根本没有出现在屏幕上。
这是我现在使用的代码
let test = SKShapeNode(rect: CGRectMake(0, 0, 10, 10))
test.fillColor = SKColor.blackColor()
self.addChild(test)
背景颜色为白色,所以形状节点在屏幕上肯定会出现
屏幕上出现了 0 个节点?
children.count 返回 1
这就是我展示场景的方式
override func viewWillLayoutSubviews () {
super.viewWillLayoutSubviews()
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
// Configure the view.
let skView = self.view as SKView
skView.showsFPS = true
skView.showsNodeCount = true
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = true
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
SKShapeNode 被绘制了,但它在屏幕之外?
【问题讨论】:
-
检查scene.size 是否正确,缩放模式是否适合宽高比或调整填充大小。调试绘制节点计数仅计算屏幕上可见的节点,如果要计算场景图日志中的节点 children.count
-
我在 Xcode 中的标准缩放模式是 .AspectFill,children.count 返回 1
-
看起来场景是为横向而设计的,而应用程序是纵向的
-
那我该如何解决呢?
标签: ios sprite-kit swift