2015-07-13 45 views
0

我正试图实现以下结果。 2 SKSpriteNode将对象作为子节点添加到占用全宽度的GameScene。我限制了我的范围,现在不想处理landscape模式,并且想要根据当前视图大小设置每个背景的height的大小(50%)。如何在游戏场景中均匀分割两个SKSpriteNode

override func didMoveToView(view: SKView) { 
     let background1 = SKSpriteNode() 
     background1.position = CGPoint(x:0,y:0) 
     background1.anchorPoint = CGPoint(x:0.0,y:0.0) 
     background1.size = view.bounds.size 

     let background2 = SKSpriteNode() 
     background2.position = CGPoint(x:0,y:0) 
     background2.anchorPoint = CGPoint(x:0.0,y:0.0) 
     background2.size = view.bounds.size 

     self.addChild(background1) 
     self.addChild(background2) 
    } 

我有一些很难理解position财产如何工作按照CGPoint既不SKNode目前显示为我说话。有谁知道SpriteKit是否提供弹性大小调整功能,以便我不必硬编码CGPoint(x:?,y:?)的坐标?

回答

1

如果你想在屏幕上的相同点放置节点,而不管设备的你应该做这样的事情:

myNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame))//places node at middle of screen 

还有GetMaxX,GetMaxY等。如果你点击了Xcode中的一个方法,你会看到更多的方法。如果要将节点放置在屏幕上更具体的点上,也可以获取最大x或y并乘以十进制值。快乐的编码。