public void onControlChange(final BaseOnScreenControl pBaseOnScreenControl, final float pValueX, final float pValueY) {
final Body carBody = CityRacerActivity.this.mCarBody;
final Vector2 velocity = Vector2Pool.obtain(pValueX * 5, pValueY * 5);
carBody.setLinearVelocity(velocity);
Vector2Pool.recycle(velocity);
final float rotationInRad = (float)Math.atan2(-pValueX, pValueY);
carBody.setTransform(carBody.getWorldCenter(), rotationInRad);
CityRacerActivity.this.mCar.setRotation(MathUtils.radToDeg(rotationInRad));
}
したがって、これは部分的に機能します。
OnControlChange はスプライトを正しい方向に動かしますが、コントロールを放すと、車両が毎回上向きに動くように見えます。
私はandengineを使用してAndroidを使用しています。
私のコードは racergameactivity の例に基づいていますが、このエラーは例自体に既に存在しているようです。