Libgdx box2d Sprite定位复杂多边形

时间:2015-08-15 10:25:26

标签: java libgdx sprite box2d

在我的上一个问题得到解答后,我遇到了一个新问题: 如下图所示,如下图所示: http://i.stack.imgur.com/MXQRr.png

在那里你可以看到我用于动态游戏对象的我的多边形

我必须将这个红点左下角围绕放在这个多边形的中间..

但是如何计算我的精灵的X / Y?

通常我会说

polygonShape.setAsBox(WIDTH, HEIGHT)

和精灵定位比如下:

sprite.position.set(body.getPosition.x - WIDTH / 2, body.getPosition.y - HEIGHT / 2

但现在这个多边形现在不可能了,因为正文phyiscs编辑器将正文的原点正常放在X,Y 0和右上角的顶点上,如上图所示。 但在我的情况下,身体的原点(红点)被放置在这个多边形的中间某处。 (允许正确旋转)

我该如何计算正确的X / Y点?半宽半高几乎是正确的,仍然是一个最小的偏移因为:我不能将原点完美地放在中间..

我有以下数学相关要点:

  • 来自车身/夹具的最大/最小X / Y
  • 身体/夹具的宽度/高度
  • 来自身体

我无法得到正确的方程式来计算精灵的正确位置..而且黑客很难看,必须有办法才能得到它......

我几个小时以来一直在努力解决这个问题..

问题:如何计算精灵的X,Y,当身体的起源“几乎在中间”而在中间完美?

0 个答案:

没有答案