我有一个必须在触摸时旋转的身体。不需要线性运动,它们的身体只需要沿着一个轴点旋转。
我正在使用 setTransform 在 onAreaTouched 事件中旋转身体。像这样:
body.setTransform(body.getPosition(),((float)Math.atan2(-(pSceneTouchEvent.getX() - startX), (pSceneTouchEvent.getY() - startY))));
这是在“移动”动作中完成的。StartX 和 StartY 表示起始 X 和 Y 点。它们在上述代码行之后被重置,如下所示:
startX = pSceneTouchEvent.getX();
startY = pSceneTouchEvent.getY();
如果触摸移动的速度很慢,代码确实会旋转身体,但身体会在旋转时抖动。随着触摸的更快移动,身体旋转顺畅。
我怎样才能使身体旋转平滑(触摸运动是慢还是快)?