我在游戏中实现了Andengine模拟屏幕控制。我正在计算onscreencontrol上旋钮的角度并将其提供给物理主体。 值不顺畅。
Controller = new AnalogOnScreenControl(width/6, height/6, camera, resourcesManager.Controller_Base, resourcesManager.Controller_knob , 0.1f, vbom, new IAnalogOnScreenControlListener() {
public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) {
System.out.println("the values are " + pValueX + " & "+ pValueY);
float xvalue = pValueX/10;
float yvalue = pValueY/10;
if(pValueX == x1)
{
}
else {
// linear velocity
planeBody.setLinearVelocity(new Vector2(pValueX * 50, pValueY * 50));
planeBody.setFixedRotation(true);
planeBody.setTransform(planeBody.getWorldCenter(),-(float)Math.atan2(pValueX, pValueY) );
planeBody.setAngularVelocity(0);
}
}
public void onControlClick(final AnalogOnScreenControl pAnalogOnScreenControl) {
/* Nothing. */
}
});
请建议我使物理身体的旋转平滑。 因此它应该非常顺利地提供一些类似宽容的价值。
答案 0 :(得分:0)
使用修饰符:在这种情况下,您正在寻找RotationModifier。