如何使用BufferedImage对象中的graphics2D,使用“getGraphics()”方法?

时间:2016-04-01 11:52:45

标签: java swing bufferedimage

我正在尝试制作2D游戏,但我无法弄清楚为什么来自先前帧的图形仍然存在。效果是当在x上以1像素/帧移动矩形时,我在屏幕上绘制了一个长条。

在类体中,我声明了下面的对象:

getErrorDialog()

这就是我正在初始化的方式:

private int x, y;
private BufferedImage image;
private Graphics2D g;

我有绘制图形的方法:

x = 10, y = 25;
image = new BufferedImage(300, 300, BufferedImage.TYPE_INT_BGR);
g = (Graphics2D) image.getGraphics();
r = new Rectangle(x, y, 10, 10);

我也有一个方法,我移动矩形:

Graphics g2 = this.getGraphics();
g2.drawImage(image, 0, 0, getWidth(), getHeight(), null);
g.draw(r);
g2.dispose();

该类扩展了Canvas并为游戏循环实现了Runnable,并使用了JFrame对象。

这是10x10矩形运动的结果: capture

0 个答案:

没有答案