1

我想设置一个 2D 精灵的旋转,使其朝向它移动的方向。目前我将加速度计连接到精灵的线速度,当我倾斜我的设备时它不会旋转,只会移动。我在 Android 上运行 AndEngine。

我想计算 x+/x-/y+/y- 以接收旋转度数的值。

4

2 回答 2

2

atan2(y,x)应该可以解决问题。

所以如果 angle=0 在正 x 方向,

angle = Math.atan2(y_velocity, x_velocity);

给你你必须旋转的角度。

于 2013-09-07T22:15:27.200 回答
1

最终想通了,为了实现这一点,我做了以下事情:

float radians=(float)Math.atan2(-acceleration.x, acceleration.y); //No Idea why I had to invert x axiz but it wouldn't work without it being done
float degrees=(float)Math.toDegrees(radians)+90; //Had to rotate my sprite by 90 degrees
radians=(float)Math.toRadians(degrees);
sprite.setTransform(sprite.getWorldCenter(), radians);
于 2013-09-10T11:54:49.140 回答