2015-07-13 6 views
0

Я пытаюсь добиться следующего результата. 2 SKSpriteNode объекты добавлены как дочерние узлы в GameScene, которые занимают полную ширину. Я ограничил свои возможности, чтобы не работать с режимомсейчас и хотел бы сделать размер height каждого фона на 50% (на основе текущего размера).Как равномерно разделить два SKSpriteNodes на игровой сцене

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 и так далее. Если вы cmd + щелкните по методу в Xcode, вы увидите больше таких методов. Вы также можете получить max x или y и умножить на десятичное значение, если вы хотите поместить узел в более конкретную точку на экране. Счастливое кодирование.