Java 处理-如何删除碰撞后的图像?

Java 处理-如何删除碰撞后的图像?,java,image,processing,collision,Java,Image,Processing,Collision,我对处理是新手,我正在做一个游戏,一个精灵来回移动,当它与墙xvalue=10碰撞时,它将失去一条生命。我在上角有3颗心,当精灵撞到墙上时,我想让它移除一颗心,这样它只会显示你还剩多少生命。如何删除心脏的图像 下面是一些代码: void loadStuff() { image(panda, pandaX, pandaY, 80, 112); image(heart1, 1250, 20, 100, 100); image(heart2, 1350, 20, 100, 100); image(he

我对处理是新手,我正在做一个游戏,一个精灵来回移动,当它与墙xvalue=10碰撞时,它将失去一条生命。我在上角有3颗心,当精灵撞到墙上时,我想让它移除一颗心,这样它只会显示你还剩多少生命。如何删除心脏的图像

下面是一些代码:

void loadStuff() {
image(panda, pandaX, pandaY, 80, 112);
image(heart1, 1250, 20, 100, 100);
image(heart2, 1350, 20, 100, 100);
image(heart3, 1450, 20, 100, 100);
if (pandaX<=10) {
  //heart1=null;

//for (int l=0; l<=life; l++) {
//  xCoord = xCoord - 100;  
//  yCoord = yCoord - 100;
//  image(heart1, 0,0,0,0);
//}
}
}

void keyPressed() {
      if (key==CODED) {
        if (keyCode==LEFT) {
        pandaX = pandaX-20;
      }
      if (keyCode==RIGHT) {
        pandaX = pandaX+20;
      }
     if (pandaX<=10) {
       pandaX=10;
       //lives.remove(0);
       //image(heart1,1500, 500); //makes another heart
       //heart1.clear();
       //heart1 = null;
     }
     if (pandaX>=1500) {
       pandaX=1500;
     }
    }

  }
我尝试了一些方法使心脏图像消失,但没有成功。我试着做一个for循环,将所有坐标设置为0,我试着从我在程序最顶端制作的数组中删除第一个图像,然后我试着清除它——所有这些都不起作用


如果我能在精灵撞到墙x=10时移除一颗心脏,我将不胜感激。谢谢

有很多方法可以做到这一点。需要查看更多代码

但一般来说,在处理过程中要绘制的所有内容都会进入无限期运行的draw方法。在方法开始时,最好先清理画布,然后简单地绘制所有内容。你可以选择不画心脏

这是一个非常简单的例子。此应用程序在屏幕中绘制图像。按任意键后,图像不再绘制

PImage img;
boolean canDraw = true;


void setup() {  // setup() runs once
  size(800, 600);
  frameRate(30);
  loadStuff();
}

void loadStuff() {
  img = loadImage("myImage.png");
}

void draw() {

  background(204); // clears the screen
  if(canDraw) {
      image(img, 0, 0);
  }
}

void keyPressed() {
  canDraw = false;
}