我试图通过快速阅读这个来理解锚点的基础知识: https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html
据我所知,在siwft中,使用sprite kit,场景的锚点位于屏幕的左下角。
所以,如果我按这样定位一个节点:
myNode.position = CGPoint(x: 0, y: 0)
self.addChild(myNode)
它没有出现在我看来。所以我尝试了另一件事:
myNode.position = CGPoint(x: middleOfmyView, y: 0)
self.addChild(myNode)
现在我看到了我广场顶部的一半。所以我看到屏幕底部向上20像素。
所以我补充道:
myNode.position = CGPoint(x: middleOfmyView, y: 0+myNode.frame.size.height/2)
self.addChild(myNode)
现在,我可以在屏幕中间看到我的整个广场。
然后我把它放在x:0并让Y点那样:
myNode.position = CGPoint(x: 0, y: 0+myNode.frame.size.height/2)
self.addChild(myNode)
现在,即使屏幕右下角写有“1节点”,我也看不到我的节点出现了!
所以我想知道iPhone屏幕的0点真的在屏幕的左下角吗? 然后我的精灵节点的锚点在哪里?如何将我的方块放在屏幕的左下角?
这只是为了理解事情是如何运作的......非常感谢您的帮助:)
我正在使用Xcode 7.3.1而且我仍然不明白为什么0点会让我看不到我的东西......这肯定是个错误?
答案 0 :(得分:3)
SKSpritenodes默认为anchorPoint(0.5,0.5),表示节点的中间位置设置的位置。要更改anchorPoint,请执行以下操作:node.anchorPoint = CGPoint(x: 0, y: 0)
此示例将节点的anchorPoint设置为其左下角。请记住,更改anchorPoint也会更改旋转原点,并且anchorPoint值介于0和1之间。要将方块放在左下角:
myNode.anchorPoint = CGPoint(x: 0, y: 0)
myNode.position = CGPoint(x: frame.minX, y: frame.minY)
如果您需要其他任何帮助(或者如果我没有覆盖您想要的内容),请随时问我,我会尽力帮助