在 Corona SDK 中改变物体的重心

我的问题非常简单,但我在文档或堆栈上找不到答案。

我正在使用 Corona SDK 制作一个游戏,我已经创建了一个物理体,在屏幕上投掷时会被扔出。这个物理体是一个图像。这个物体被设计成一个投射物,我想利用 Corona 内在的自然物理规律来控制物体在被投掷过程中的反应。为了实现这一点,最好让物体的重心处于物体的鼻子/尖端位置,有点像羽毛球。

问题是:有没有办法在 Corona 中设置物理体的自定义重心?

点赞
用户2581463
用户2581463

我已经想出了如何做到这一点,所以我在这里发布我的解决方案,以便其他人也可以找到它。

Corona 没有一种方法或属性可用于更改特定对象的质心。

改变物体的质心的最佳方式是创建另一个物体,它比原始物体的密度更重,并将 Object B 的位置定位到质心所需的 x 和 y,然后使 Object B 的密度大于 Object A。然后使用焊接关节将两个物体连接起来,并在此之后将任何线性力施加于 Object B 的质心。因为 Object A 通过焊接关节被刚性连接,所以 Object B 将会将 Object A 拖拽。

2018-12-19 08:36:59