2013-05-04 177 views
1

我对处理还很陌生,现在我只是在玩弄它。我希望找到如何改变两种颜色之间的背景颜色,特别是在白色和黑色之间,当我点击我的鼠标时。我在网上发现了一个代码,它具有几种不同颜色之间的背景颜色变化,但我似乎无法弄清楚如何在两种颜色之间改变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

“X + = y” 为简写 “X = X + Y”,同样, “×(%)= 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等