加载图像鼠标单击-处理/Java
我正在尝试编写简单的代码(我最初几个小时使用的是Processing和Java),它将显示一个类似于Rubin花瓶的负面图像。这个,有两张脸还是一个花瓶 我有加载第一个图像的代码(黑色面/白色花瓶) 如何在鼠标单击时获得要加载的第二个图像?我已经试过了,但还没有接近成功 a) 此时会出现一个单击的第二个图像。再点击一下,它就会消失,依此类推 b) 按住鼠标按钮时显示第二个图像 我能找到的最接近切换图像的代码是加载图像鼠标单击-处理/Java,java,processing,Java,Processing,我正在尝试编写简单的代码(我最初几个小时使用的是Processing和Java),它将显示一个类似于Rubin花瓶的负面图像。这个,有两张脸还是一个花瓶 我有加载第一个图像的代码(黑色面/白色花瓶) 如何在鼠标单击时获得要加载的第二个图像?我已经试过了,但还没有接近成功 a) 此时会出现一个单击的第二个图像。再点击一下,它就会消失,依此类推 b) 按住鼠标按钮时显示第二个图像 我能找到的最接近切换图像的代码是 PImage img,imageinverse; void setup () {
PImage img,imageinverse;
void setup () {
size (1000, 480);
img = loadImage ("vaseedit.jpg");
imageinverse = loadImage ("vaseeditinverse.jpg");
int value = 0;
}
void draw () {
background(0,0,0);
image(img,0,0);
}
void mousePressed () {
if(value == 0) {
image (imageinverse, 0,0);
} else {
image(img,0,0);
}
}
你快到了。为了便于将来参考,您应该始终包含遇到的任何错误的确切文本,以及它们所在的行 请注意,您在setup()函数中声明了value变量,因此一旦setup函数退出,它就会超出范围。阅读有关范围的教程 您也永远不会更改值变量。因此,即使您在草图顶部声明了value变量,使其在mousePressed()函数的作用域中仍然,if语句的计算结果也将始终为true。了解有关随时间修改变量的更多信息 即使您解决了这两个问题,每次单击鼠标时,只要您按下按钮,mousePressed()函数也只调用一次。所以当你按下鼠标时,你正在画一个图像。但是,您也在draw()函数中绘制图像,该函数每秒调用60次。这意味着您在按下鼠标时绘制一个图像,但在1/60秒后,您会在其上方绘制一个不同的图像 相反,只需在mousePressed()函数中设置value变量,然后从draw()函数中引用该变量来决定要绘制的图像 下面是一个小示例,用于确定要绘制的颜色:
int value = 0;
void draw(){
if(value == 0){
background(0, 0, 0);
}
else if(value == 1){
background(255, 0, 0);
}
else if(value == 2){
background(0, 255, 0);
}
}
void mousePressed(){
//increment the value variable
value = value + 1;
//reset the value variable when it gets too big
if(value > 2){
value = 0;
}
}
与论坛网站不同,我们不会在堆栈溢出上使用“感谢”、“感谢任何帮助”或签名。看见
int value = 0;
void draw(){
if(value == 0){
background(0, 0, 0);
}
else if(value == 1){
background(255, 0, 0);
}
else if(value == 2){
background(0, 255, 0);
}
}
void mousePressed(){
//increment the value variable
value = value + 1;
//reset the value variable when it gets too big
if(value > 2){
value = 0;
}
}