Hei*_*kov 2 objective-c ios sprite-kit
我对SpriteKit中的anchorpoint非常困惑.
如果我有一个由多个子节点组成的节点,并且我更改了节点的锚点,那么所有的子节点都会被放错位置.有没有办法解决?
我认为如果我总是使用默认的锚点(0.5,0.5),定位节点真的很烦人,所以有时我会将锚点更改为1.0,0.0,因此它很容易放在右下角.但是如果这个节点有子节点,那么当我改变锚点时它们都被放错了位置.
我错过了什么?
在您的情况下(一般情况下),修复相对容易.不是将子节点添加到其anchorPoint已更改的sprite节点,而是使用公共父节点(SKNode).将精灵节点添加到父节点,更改精灵的anchorPoint但不添加任何子节点.而是将这些子项添加到父节点.然后,您可以使用父节点将节点树的此分支放在一起.
或者,使用允许您将节点与特定边框对齐的方法创建SKSpriteNode(或类别)的子类,同时考虑精灵的帧大小和anchorPoint.例如,您可以添加两个属性verticalAlign和horizontalAlign,其中心,左/上和右/下对齐.每当更改position属性时,该点在传递给super setPosition之前都会偏移,以便遵循对齐模式.
| 归档时间: |
|
| 查看次数: |
1955 次 |
| 最近记录: |