我仍然非常擅长处理,我现在正在玩它。当我点击鼠标时,我希望了解如何更改两种颜色之间的背景颜色,特别是白色和黑色之间的颜色。我在网上发现了一个代码,它有几种不同颜色之间的背景颜色变化,但我似乎无法弄清楚如何在两种颜色之间改变bg颜色。我特别喜欢'col + ='和'col%='表示,因为我似乎无法在处理教程中找到它。请帮我!谢谢! 下面是我找到的代码。
void setup() {
size(600,400);
smooth();
colorMode(HSB);
}
int col = 0;
void draw() {
background(col,255,255);
}
void mousePressed(){
col+=20;
col%=255;
println(col);
}
答案 0 :(得分:1)
“x + = y”是“x = x + y”的简写,同样,“x%= y”是“x = x%y”的缩写(其中%是模运算符)。
我打算假设你想问的是“如何将背景从一种颜色改变为另一种颜色,然后再回来”;有两种方法可以做到这一点。
1:设置两个(或更多)参考颜色,一个额外的“当前”颜色,然后更改“当前”指向的内容,从中抽取背景:
color c1 = color(255,0,0), c2 = color(0,0,255), current;
void setup() { current = c1; }
void draw() { background(current); }
void mousePressed() { if(current==c1) { current = c2; } else { current = c1; }}
每次单击时,程序会检查“当前”指向哪两种颜色,然后将其指向另一种颜色。
2:设置一种颜色,并应用一些模数为1,或2或......步骤的操作:
color c = color(255,0,0);
void draw() { background(c); }
void mousePressed() { c = color( red(c), (green(c)+50)%255, blue(c)); }
每次点击时,颜色“c”的绿色成分增加50,然后模数修正为255.所以它会循环:0,50,100,150,200,250,300% 255 = 45,95,145,195,245,295%255 = 40,90等