如何在Processing中使图像消失

时间:2015-11-10 03:41:38

标签: image processing

我正在使用Processing 3.0.1,这是最新版本。

当我按下某个键时,我成功地显示了图像。

例如,当我按下'a'键时,将显示图像。

当我按下另一把钥匙时,我也想让图像消失。

但是,我找不到办法做到这一点。

如果有人知道该怎么做,请帮帮我

这是代码

PImage Onepiece1, Onepiece2;
void setup(){
  size(600,600);
  Onepiece1 = loadImage("Onepiece1.jpg");
  Onepiece2 = loadImage("Onepiece2.jpg");
}

void draw(){
}

void showimage1(){
  image(Onepiece1,10,10);
}


void keyPressed(){
  if(key == 'a'){
    showimage1();
  }
  else if(key == 'b'){
    // I want to make the image disappear when I press 'b'
  }


  println(key);
}

2 个答案:

答案 0 :(得分:1)

对于这个简单的场景@Majlik建议是可以的,但通常画一个像keyPressed()这样的回调函数并不是一个好主意。而是使用标志来驱动draw()中的绘图,例如:

<强>未测试

PImage Onepiece1, Onepiece2;
boolean showimage = false;

void setup(){
  size(600,600);
  Onepiece1 = loadImage("Onepiece1.jpg");
  Onepiece2 = loadImage("Onepiece2.jpg");
   background (255);
}

void draw(){
  background (255);
  if(showImage){ 
    showImage1();
   }  
}

void showimage1(){
  image(Onepiece1,10,10);
}


void keyPressed(){
  if(key == 'a'){
    showImage = true;
  }
  else if(key == 'b'){
        showImage = false;
  }


  println(key);
}

答案 1 :(得分:0)

对于像这样的简单场景,您只需要用任何东西重绘图像。最佳做法是使用background()功能。因此,您对按b的反应可能如下:

if(key == 'b'){
    background(99);
}

最好在setup()函数内的开头指定相同的背景颜色:

void setup(){
  size(600,600);

  ...

  background(99);
}