andengine定位一个身体

时间:2012-04-02 22:40:51

标签: coordinates andengine document-body

我正在尝试使用此代码使用物理引擎定位一个物体:

                float touchX = pp[0];
                float touchY = pp[1];
                float diffX = touchX - mBody.getPosition().x;
                float diffY = touchY -  mBody.getPosition().y;                   
                mBody.setLinearVelocity(new Vector2(( pp[0])  / PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT , ( pp[1]) / PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT));

X和Y坐标来自TMX平铺地图并且是32像素正方形,我试图让物理引擎中的主体移动到平铺贴图中的某些贴图(保存在pp []数组中)但是相反,它会移动到随机的混乱路径。这是转换X,Y坐标并转移到那一点的正确方法吗? 感谢

2 个答案:

答案 0 :(得分:1)

.setLinearVelocity不会将身体移动到某个位置。为此,您需要使用.setTransform

答案 1 :(得分:0)

.setLinearVelocity就像你给身体增加力量并让它移动一样,所以它不会移动到你想要的位置。

.setTransform就像你设定身体的位置一样。因此它不会从A缓慢移动到B,但是从A消失并突然出现在B

您可以通过代码自行轻松移动它。