java - 处理 - 颜色循环

标签 java colors processing rgb

我正在尝试创建一个窗口,当您单击一次时,将会发生颜色变化的循环:

代码:

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/

相关文章:

java - Java中数据库图的实现

java - 如何将函数应用于列表列表

java - 处理中的 OOP,我应该如何构建我的类?

arrays - 为什么我在处理像素化时出错?

java - 如何计算Processing上绘制的点数?

java - 有没有办法将电话号码标准化为 1-222-444-5555(根据北美标准)?

java - 如何在一个应用程序中的多个 Activity 之间共享蓝牙接收的数据

android - 如何改变ImageView中触摸区域的颜色?

html - 更改导航栏文本颜色 Bootstrap

javascript - IE反转整个页面颜色