首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏/释放DrawImage

隐藏/释放DrawImage
EN

Stack Overflow用户
提问于 2011-08-05 00:17:57
回答 2查看 1.5K关注 0票数 0

我正在编写一个显示图像在屏幕上移动的程序,但是对于作业,必须使用drawImage方法。我创建了一个名为海龟的新图像,然后在一个点绘制图像,然后在稍后的某个点再画一次,但是,第一个绘制的图像仍然是可见的,我如何隐藏/使它消失。我是Java新手,所以请尽可能简单地解释这一点。

谢谢!

下面是我的代码示例:

代码语言:javascript
复制
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.               

     }
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-05 00:31:34

在重新绘制它之前,您必须用背景覆盖它以前的位置。clearRect将是一个很好的选择。

代码语言:javascript
复制
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顺序重新绘制与清除区域重叠的所有图像,以保持屏幕状态。

票数 2
EN

Stack Overflow用户

发布于 2011-08-05 00:34:53

想想你在做什么。你打开了一张画布,然后在上面画了一些东西。然后你在上面画些别的东西。他们俩都出现了。

现在,想想一个电子游戏,比如说,超级马里奥兄弟,当屏幕上有两只海龟的时候。抽签(Koopa)在代码中被称为twice...just。

为了让第一只海龟消失,你可以在画第二只海龟之前先做一些最简单的things...the。

在that...try使用for-循环移动海龟之后,只使用drawImage方法一次(在循环中)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6950108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档