目前我正在用我的国际象棋游戏与动画实验SurfaceView。我在仿真器中只获得大约8个FPS。我画一个国际象棋棋盘和32个棋子,并旋转一切(看看它是多么光滑),我正在使用抗锯齿。在Droid上,我获得了大约20FPS,所以它不是很流畅。是否有可能实现一个非常稀缺和简单的动画游戏,而无需使用OpenGL?我应该使用OpenGL进行动画国际象棋吗?
这是我做的每一帧:
// scale and rotate
matrix.setScale(scale, scale);
rotation += 3;
matrix.postRotate(rotation, 152, 152);
canvas = surfaceHolder.lockCanvas();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG));
canvas.setMatrix(matrix);
canvas.drawARGB(255, 255, 255, 255); // fill the canvas with white
for (int i = 0; i < sprites.size(); i++) {
sprites.get(i).draw(canvas); // draws chessboard and chess pieces
}
如果你打算使用动画,我认为你应该使用openGL。没有抗锯齿功能,您的游戏速度会快多少?这可能是一个巨大的资源霍格。你也可以在NDK中做openGL绘图。并且不要将模拟器的速度作为真实设备的标志。 – MrSnowflake 2010-03-21 18:09:53