graphics - 隐藏/处置 DrawImage

标签 graphics applet java

我正在编写一个程序,显示在屏幕上移动的图像,但是对于作业,我必须使用drawImage方法。我创建一个名为turtle的新图像,然后在一个点绘制该图像,然后在稍后的时间点再次绘制它,但是,第一个绘制的图像仍然可见,我如何隐藏/使其消失。我是 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.               

     }
  }

最佳答案

在重绘之前,您必须用背景覆盖其先前的位置。 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 顺序重新绘制与您清除的区域重叠的所有图像,以维持屏幕状态。

关于graphics - 隐藏/处置 DrawImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950108/

相关文章:

java - 这个小程序适合您吗?

java - 无法将 JMenuBar 添加到 Applet

java - 如何从 RestTemplate 读取响应 header ?

math - 将矩阵从右手坐标系更改为左手坐标系

Java Swing 游戏随着时间的推移而滞后

Qgraphicsscene : how to create a new layer?

java - 如何在 JNLP 文件中指定小程序库

java - 从图标中获取 "XOR Mask"和 "AND mask"

java - 在 Spring boot 应用程序项目中使用 Wildfly

java - 如何使用 Mockito 模拟方法调用