我正在使用 Graphics2D 在我的游戏上绘制地图。
在循环中它调用这个:
for(int i = 0; i < tiles.length; i++){
for(int j = 0; j < tiles[i].length; j++){
if(tiles[i][j]==1){ //GRASS
g2d.drawImage(getImage.getTile("grass.png", 0, 0, ), i* 32, j* 32, null);
}
if(tiles[i][j]==2){ //ROCK
g2d.drawImage(getImage.getTile("rock.png", 0, 0), i* 32, j* 32, null);
}
}
}
在 getImage.getTile("grass.png") 方法中,它只是一个单独的类,用于返回给定路径的缓冲图像。
现在这一切都有效,但它就像没有明天一样滞后。就像我要按 D 向右走一样,它需要 3 秒钟,然后地图以非常缓慢的方式移动!请帮忙!
这是缓冲图像的代码:
public static BufferedImage getTile(String name, int x, int y){
try{
BufferedImage imageMap;
imageMap = ImageIO.read(getImage.class.getResource("/tiles/"+name));
BufferedImage a = imageMap.getSubimage(x * 32, y * 32 , 32, 32);
return a;
}catch(Exception e){
}
return null;
}
请注意:
一切正常,我不在这里是因为错误,只是滞后!