手动旋转精灵表没有意义,我只是加载一个精灵表。然后为每个角度制作一个Bitmaps阵列,并旋转并复制每个角度的基础精灵片。 (您可能需要一组数组来处理动画,或者对精灵表的每一帧进行单独旋转)。这也让您可以轻松地更改自己的作品。
类似:
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中的旋转图像的速度惊人地快,能够以良好的帧速率旋转数百个小的位图。
你测试了这个实现你说的? – woliveirajr
我想开始制作更大的spritesheet,但是在意识到要花费大约10个小时才能正确完成,我停止了,现在我要尝试一下,但是没有。 – SBoss