SpriteKit坐标系搞砸了

时间:2014-06-18 06:43:47

标签: ios sprite-kit swift

在纵向模式下,我在SKShapeNode的位置创建了0,0。但似乎它根本没有出现在屏幕上。

这是我现在使用的代码

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,但它在屏幕外?

编辑1:我将比例模式更改为.AspectFit,这就是发生的事情
尽管游戏假设以纵向运行,但游戏是否在景观中强行运行?

1 个答案:

答案 0 :(得分:3)

基于@fuzzygoat在https://stackoverflow.com/a/24170460/1879382回答。

只需打开GameScene.sks,然后将x和y的值更改为所需的适当值。 对我来说,我使用320 x 568,因为我在iPhone 5S上运行游戏