PhysicsBody受anchorPoint变化的影响

时间:2014-12-12 08:12:31

标签: sprite-kit

我有一种情况,我需要使用resizeToHeight方法(为零),但我想实现一个滑动门效果,其中调整大小发生在底部而不是图像的中心(带有一个anchorPoint of( 0.5,0.5),调整大小几乎发生在中间。

现在,如果我将anchorPoint更改为(0,0),则调整大小以我想要的方式发生,但是对象的物理实体并未真正受到anchorPoint更改的影响,从而弄乱了我的碰撞检测(不可见的框架实际上也会碰撞,而不是图像的可见部分。)

根据我在网上找到的内容,看起来将锚点更改为CGPointZero可能不是最佳选择。如果是这种情况,我该如何妥善处理?或者,如果CGPointZero是实现它的方法,我如何处理physicsBody差异?

1 个答案:

答案 0 :(得分:3)

断开精灵与物理体的连接,即有一个代表身体的节点和另一个代表门图像的节点,这样你可以移动,独立缩放它们。

最佳解决方案可能是使用带物理的SKNode并将SKSpriteNode添加为子项,这样您就可以以任何方式相对于物理体偏移它,而无需不断地同步它们的位置/旋转。