如何在游戏场景中平分两个SKSpriteNode
How to evenly split two SKSpriteNodes on a game scene
我正在努力实现以下结果。 2 SKSpriteNode
个对象作为子节点添加到 GameScene
中,占据整个宽度。我已将我的范围限制为暂时不处理 landscape
模式,并希望将每个背景的 height
大小调整为 50%
(基于当前视图大小)。
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:?
) 的坐标?
如果你想将节点放置在屏幕上的同一点而不考虑设备,你应该这样做:
myNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame))//places node at middle of screen
还有GetMaxX、GetMaxY等。如果你用 cmd 并点击 Xcode 中的一个方法,你会看到更多类似的方法。如果您想将节点放置在屏幕上更具体的点,您还可以获得最大值 x 或 y 并乘以一个十进制值。编码愉快。
我正在努力实现以下结果。 2 SKSpriteNode
个对象作为子节点添加到 GameScene
中,占据整个宽度。我已将我的范围限制为暂时不处理 landscape
模式,并希望将每个背景的 height
大小调整为 50%
(基于当前视图大小)。
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:?
) 的坐标?
如果你想将节点放置在屏幕上的同一点而不考虑设备,你应该这样做:
myNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame))//places node at middle of screen
还有GetMaxX、GetMaxY等。如果你用 cmd 并点击 Xcode 中的一个方法,你会看到更多类似的方法。如果您想将节点放置在屏幕上更具体的点,您还可以获得最大值 x 或 y 并乘以一个十进制值。编码愉快。