我试图为我的蛇游戏绘制一堵墙,我是通过paintComponent方法做到的,我只是想知道是否有某种方法可以一次性绘制墙壁而不是每次都重新绘制它time paintComponent方法被调用。
我尝试了一个布尔值,一旦第一次完成就会停止重绘墙的方法,但这不起作用,因为paintComponent会删除所有并重绘它们。
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(drawWall) {
for(int i = 0; i < this.getWidth(); i++) {
g.drawImage(wall.getWallImage(), i*32, 0, this);
}
drawWall = false;
}
答案 0 :(得分:3)
将墙绘制为BufferedImage
,然后使用BufferedImage
Graphics#drawImage