我正在使用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);
}
答案 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);
}