2

目前我正在使用andEngine版本1在android中创建一个游戏演示应用程序。

目前我的精灵以如下代码所示的角度旋转

 aircraft.setRotation((float) rotationAngle);

但是我的精灵每次都从它的初始位置旋转,但我想从它的当前位置而不是它的初始位置旋转。因为在我的游戏应用程序中,精灵以不同的角度反复旋转(很多次)。所以它看起来很糟糕!(每次都有混蛋)所以我想要我的精灵平滑旋转我该怎么做?

我也使用此代码进行平滑旋转,但我仍然没有获得平滑旋转..?

// 这是为了飞机的平滑旋转

for (int i = 0; i <= 旋转角度; i++) {

_aircraft.setRotation((float) i);

}

4

2 回答 2

1

如果我正确阅读了您的问题,这就是您想要的:每次调用“setRotation”时,您都希望旋转考虑当前旋转加上“rotationAngle”变量指定的额外旋转量。如果是这种情况,那么解决方案很简单。

代替:

 aircraft.setRotation((float) rotationAngle);

利用:

 aircraft.setRotation((float) (aircraft.getRotation()+rotationAngle));

通过这种方式,您可以随时将飞机旋转一个设定的角度(rotationAngle),并将该角度添加到飞机的当前旋转中。

于 2013-04-15T21:20:27.480 回答
0

据我了解您的问题,您必须使用

aircraft.setRotationCenter(pCenterX,pCenterY);

使用此方法,您可以将对象旋转到所需的位置。默认旋转点是精灵的中心。

于 2013-04-12T16:56:23.617 回答