我正在编写一个显示图像在屏幕上移动的程序,但是对于作业,必须使用drawImage方法。我创建了一个名为海龟的新图像,然后在一个点绘制图像,然后在稍后的某个点再画一次,但是,第一个绘制的图像仍然是可见的,我如何隐藏/使它消失。我是Java新手,所以请尽可能简单地解释这一点。
谢谢!
下面是我的代码示例:
import java.awt.*;
import java.applet.*;
public class Race extends Applet {
Image tortoise;
public void init() {
setSize(1275,1000);
tortoise = getImage( getDocumentBase(), "resources/tortoise.png" );
}
public void paint( Graphics g) {
g.drawImage(turtle, 100, 100, this);
g.drawImage(turtle, 200, 200, this); // Both images are shown.
}
}发布于 2011-08-05 00:31:34
在重新绘制它之前,您必须用背景覆盖它以前的位置。clearRect将是一个很好的选择。
g.drawImage(turtle, 100, 100, this);
try {
Thread.sleep(5000);
} catch(InterruptedException e) {}
g.clearRect(100, 100, turtle.getWidth(null), turtle.getHeight(null));
g.drawImage(turtle, 200, 200, this);如果要将多个图像绘制到屏幕上,则必须以正确的z顺序重新绘制与清除区域重叠的所有图像,以保持屏幕状态。
发布于 2011-08-05 00:34:53
想想你在做什么。你打开了一张画布,然后在上面画了一些东西。然后你在上面画些别的东西。他们俩都出现了。
现在,想想一个电子游戏,比如说,超级马里奥兄弟,当屏幕上有两只海龟的时候。抽签(Koopa)在代码中被称为twice...just。
为了让第一只海龟消失,你可以在画第二只海龟之前先做一些最简单的things...the。
在that...try使用for-循环移动海龟之后,只使用drawImage方法一次(在循环中)。
https://stackoverflow.com/questions/6950108
复制相似问题