2014-06-17 114 views
1

我一直試圖將節點放置在帶有Spift的SpriteKit框架的屏幕上,但是我找不到原點。我認爲它是在左下角,但是當我將node3放置在那裏時,它似乎在某處不在屏幕上。只有節點1出現在屏幕上,有人可以解釋發生了什麼?SpriteKit座標系原點

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 

    let node = SKSpriteNode(color: UIColor.greenColor(), size: CGSize(width: 50, height: 50)) 
    node.position = CGPoint(x:CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame)) 
    self.addChild(node) 

    let node2 = SKSpriteNode(color: UIColor.orangeColor(), size: CGSize(width: 50, height: 50)) 
    node2.position = CGPoint(x: 200.0 , y: 200.0 as Double) 
    self.addChild(node2) 

    let node3 = SKSpriteNode(color: UIColor.redColor(), size: CGSize(width: 50, height: 50)) 
    node3.position = CGPoint(x: 0.0 , y: 0.0) 
    self.addChild(node3) 
} 

的SpriteKit模板具有以下視圖配置:

 let skView = self.view as SKView 

     /* 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) 

enter image description here

+0

嘗試200.f和200.f代替200 –

+0

對不起隊友,相同的結果:/ –

+2

原點在左下角。如果您得到不同的結果,請檢查scene.size是否與您的視圖和方向匹配,並檢查應設置爲方面適合或調整填充大小的scene.scaleMode。 – LearnCocos2D

回答

2

正如@ LearnCoco2D提到的觀點和場景大小不匹配。爲了解決這個問題,我將scene.scaleMode改爲了ResizeFill,並繪製了所有相對於視圖而不是場景的矩形。

scene.scaleMode = .ResizeFill