我正在编写一个自上而下的 2D 游戏。我正在使用 128x128px 的图块集,并提供四个缩放级别,128、64、32 和 16 像素。我在我的图像上使用 slick-utils draw 方法来渲染它们,循环通过二维 FOR 循环,并在混合中添加了一个“渲染范围”,以确保只为可见的内容渲染必要数量的图块在屏幕上。延迟显然来自渲染过程,虽然我在最高缩放级别 128x128 下获得了稳定的 FPS,但它在 16x16px 处稳步下降到 10FPS。我确信这是代码效率问题,但是作为一个新手,我不知道从哪里开始解决它。
感谢所有帮助,谢谢!
代码:
for(int x=xPos-1;x<=xPos+renderRange;x++){
for(int y=yPos-1;y<=yPos+renderRange;y++){
/**Render Terrain*/
Image texture = getTerrainTexture(map.tiles[x][y]);
texture.rotate(map.tiles[x][y].imageRotate);
texture.draw(x*128,y*128);
/**Render Objects*/
if(map.tiles[x][y].object != 0){
Image object = getObjectTexture(map.tiles[x][y]);
object.draw(x*128,y*128);
}
}
}