【发布时间】:2015-08-15 10:25:26
【问题描述】:
在我的最后一个问题得到解答后,我遇到了一个新问题: 如下图所示,如下图所示: http://i.stack.imgur.com/MXQRr.png
在那里你可以看到我用于动态游戏对象的多边形
我必须把这个红点左下角环绕放在这个多边形的中间..
但是如何计算我的 Sprite 的 X/Y 呢?
通常我会说
polygonShape.setAsBox(WIDTH, HEIGHT)
精灵定位如下:
sprite.position.set(body.getPosition.x - WIDTH / 2, body.getPosition.y - HEIGHT / 2
但是现在这个多边形是不可能的,因为身体物理编辑器通常将身体的原点放在 X,Y 0 和右上角的顶点,如上图所示.. 但在我的例子中,身体的原点(红点)位于这个多边形中间的某个地方。 (允许正确旋转)
我应该如何计算正确的 X/Y 点?半宽半高几乎是正确的,仍然是最小的偏移量,因为:我不能将原点完美地放在中间..
我给出了以下数学相关点:
- 车身/夹具的 MAX/MIN X/Y
- 车身/夹具的宽度/高度
- 从身体出发
我只是无法得到正确的方程式来计算精灵的正确位置。而且黑客行为很丑陋,必须有办法得到它。。
几个小时以来我一直在努力解决这个问题..
问题:当身体的原点“几乎在中间”并且不在中间完美时,如何计算精灵的X,Y?
【问题讨论】: