java如何预渲染平铺贴图,以便以后重新绘制?
我正在编写一个Android应用程序。我使用画布,在上面绘制一个瓷砖贴图,使用for循环,一个接一个地绘制每个瓷砖
我想通过渲染这个tilemap(前景和背景单独)一次并保存它来提高性能,这样我就能够绘制整个贴图,而不必循环每个瓷砖
我的图形课是这样的:
public class AGraphics implements Graphics {
Bitmap frameBuffer;
Canvas canvas;
Paint paint;
...
public AGraphics(.., Bitmap frameBuffer) {
this.frameBuffer = frameBuffer;
this.canvas = new Canvas(frameBuffer);
this.paint = new Paint();
}
...
public void drawPixmap(...){
canvas.drawBitmap(((AndroidPixmap) pixmap).bitmap, ... );
}
...
}
我的世界级调用draw Pixmap函数来绘制每个瓷砖:
public class World {
...
public void drawForeground (float posX, float posY){
// get Graphics ...
for (int y = 0; y < map.height; y++) {
for (int x = 0; x <map.width; x ++) {
// calculate Positions
g.draw(tileset, (int)posX, (int)posY, srcX, srcY, tilesize, tilesize);
}
}
}
...
}
现在我正在寻找一种方法来保存画布,并在每个游戏循环的不同位置重新绘制,以提高性能
有什么想法或最佳实践吗?如果你需要更多信息,请询问
谢谢
共 (0) 个答案