手动制作旋转的精灵表是没有意义的,我只需加载一个精灵表。然后为每个角度制作一个位图数组,并在每个角度上旋转和复制基本精灵表。(您可能需要一个数组数组来处理动画,或者对精灵表的每一帧进行单独的旋转)这也让您以后可以轻松地更改您的艺术。
就像是:
Bitmap baseFrame;
Bitmap rotatedFrame[]=new Bitmap[360/10];
...
Matrix rotationMatrix=new Matrix();
rotationMatrix.setRotate(n*10);
rotatedFrame[n]=Bitmap.createBitmap(baseFrame,0,0,
baseFrame.getWidth(), baseFrame.getHeight(),
rotationMatrix, false);
旋转图像的宽度和高度可能需要比基本图像大,您可能希望将其设置为围绕中心旋转,但您明白了
顺便一提,
看看你的游戏截图,我怀疑画背景可能比旋转鸟有更大的效果。您可能想要分析您的代码以查看绘制每个图像需要多长时间。(http://developer.android.com/guide/developing/debugging/debugging-tracing.html)。我会确保你的背景是以 RGB_565 格式加载的,在软件中渲染时会快很多。
我发现在 android 中旋转图像的速度非常快,能够以良好的帧速率旋转数百个小位图。