在主游戏循环中每帧旋转位图的正确方法是什么? 我尝试过:
我每帧都创建了旋转位图:
Bitmap image, tmp;
Matrix m;
...
public void mainGameLoop(Canvas c){
m.reset();
m.postRotate(angle);
tmp = Bitmap.createBitmap(image, 0, 0, width, height, m, true);
c.drawBitmap(tmp, 50, 50, null);
}
但是,因为Bitmap.createBitmap每帧都会创建位图垃圾收集器如此疯狂地工作,它会导致低FPS。
我尝试在所有角度保存数组中的位图,只是采用我想要的位图。但是,这需要大量的RAM和应用程序无法以高屏幕分辨率启动。
如果您有任何想法,请在下面发表评论。
答案 0 :(得分:0)
有人认为是这样的:
public static void main(String[] args)
{
for(int i = 0; i < 10; i++)
{
for(int j = 10 - i; j > 0; j = j--)
{
System.out.print(j * 10);
System.out.print(" ");
}
System.out.println();
System.out.println("-----------------");
}
}