如何在处理时更改背景颜色?

时间:2013-05-04 21:42:51

标签: text processing

我仍然非常擅长处理,我现在正在玩它。当我点击鼠标时,我希望了解如何更改两种颜色之间的背景颜色,特别是白色和黑色之间的颜色。我在网上发现了一个代码,它有几种不同颜色之间的背景颜色变化,但我似乎无法弄清楚如何在两种颜色之间改变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);
}

1 个答案:

答案 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等