objective-c – Sprite Kit改变了锚点,但保持物理中心

前端之家收集整理的这篇文章主要介绍了objective-c – Sprite Kit改变了锚点,但保持物理中心前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有很多不同的sprite节点与物理大小相同的对象.为了定位,我需要更改节点的锚点,但这也改变了物理学家的位置.有没有办法保持物理中心的锚点?使用物理学的路径是不可能的,因为我有这么多不同的对象.

解决方法

anchorPoint是一个纯粹的视觉属性,它定义了纹理如何相对于节点的位置绘制.物理机构不受改变anchorPoint的影响,它保持以节点的位置为中心.

所以从某种意义上讲,物理学家的确保持着精灵的位置.通过更改anchorPoint,您只需更改sprite纹理的显示位置,我相信您假设物理体将以Sprite的anchorPoint为中心.它不是,因为一个节点可以有一个物理体,但只有很少的节点(精灵,场景,视频)有一个anchorPoint属性.

解决这个问题的最好方法是创建你的精灵图像,以便物理体总被认为是以图像为中心.在图像周围留出透明边框,以确保图像大小始终相同,并且正确定位身体的位置.

您也可以使用SKPhysicsBody bodyWithRectangleOfSize:center:initializer来定义身体的中心点,并将其与sprite的anchorPoint进行匹配.但这是棘手的和适得其反的,因为如果你做出最小的变化,你将不得不不断地调整bodyPoint和sprite.

除此之外,最好离开anchorPoint,特别是物理学.

原文链接:https://www.f2er.com/c/112459.html

猜你在找的C&C++相关文章