我正在尝试创建一个窗口,当您单击一次时,将会发生颜色变化的循环:
代码:
package declaringvariables;
import processing.core.PApplet;
public class DeclaringVariables extends PApplet {
public void setup() {
width = 800;
height = 600;
size(width,height);
}
boolean down = false;
float R = 255;
float G = 255;
float B = 0;
float incremento = +1;
float mincol = 0, maxcol = 255;
public void draw() {
background (1,255,1);
if(down) {
println("\nFramecount: "+frameCount);
println("The current framerate is: "+frameRate);
background(R,G,B);
R += incremento;
if (R > maxcol) incremento = -1;
else if (R > mincol) incremento = random(2);
B += incremento;
if (B > maxcol) incremento = -1;
else if (B < mincol) incremento = +5;
G += incremento;
if (G > maxcol) incremento = -1;
else if (G < mincol) incremento = +10;
frameRate(150);
}
}
public void mousePressed() {
down = true;
}
}
现在它可以工作了,我单击它开始改变颜色,直到它变成绿色 (1,255,1)RGB,然后停止。我需要它循环,所以它是一个不断变化的背景。
我考虑过制作某种“if 语句”,当背景变成绿色时重置背景。还考虑了 while 循环,但它既降低了我的帧速率,又无法使其工作。
行尾,我希望 if(down = true) 语句在单击后自行重复。
提前谢谢你:)
最佳答案
首先:您的意思是 if(down = true)
吗?这会将 true 分配给 down,而不仅仅是测试它是否为 true。我建议您改用 if(down)
。
为了循环颜色,您可以使用模数 (%)。这样,一旦超过 255,您就从 0 开始。
关于java - 处理 - 颜色循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32605522/