我想要做的只是改变我点击的像素的颜色。所以有两种状态;
鼠标点击
未点击鼠标
我正在使用以下代码;
boolean myBol = false ;
void setup(){
size(860,640);
background(0);
}
void draw(){
if (mousePressed) {
if(myBol == true){myBol = false;} else {myBol = true;}
}
if (myBol == true){
stroke(255);
point(mouseX,mouseY);
}}
答案 0 :(得分:1)
您的检查条件不正确。
if (mousePressed) {
if(myBol == true){
myBol = false;
} else {
myBol = true;
}
}
或基本
if (mousePressed)
myBol = !myBol
每次点击都会更改myBol
值。
由于您想要点击,不需要此值。只需直接使用mousePressed值
if (mousePressed) {
stroke(255);
point(mouseX,mouseY);
}
答案 1 :(得分:0)
你有额外的逻辑并没有多大意义。当您已拥有myBol
变量时,为什么需要mousePressed
?你不能简化你的逻辑:
void setup() {
size(860, 640);
background(0);
}
void draw() {
if (mousePressed) {
stroke(255);
point(mouseX, mouseY);
}
}
或者您可以使用鼠标事件功能,如下所示:
void setup() {
size(860, 640);
background(0);
}
void mousePressed() {
stroke(255);
point(mouseX, mouseY);
}
void mouseDragged() {
stroke(255);
point(mouseX, mouseY);
}
void draw() {
}
此外,boolean
值可以直接用于运算符,因此:
boolean example;
if(example == true){example= false;} else {example= true;}
可以使用非运算符缩短为此:
boolean example;
example = !example;
而且:
if(example == true)
可以缩短为:
if(example)