首页 > 解决方案 > 使用数组java更改下一次迭代的颜色

问题描述

我正在尝试使用数组(并且还值得注意的是我正在使用处理库)进行重复的下一次迭代以更改颜色,但它似乎没有成功,我尝试移动“if”进入设置,在“绘制”内部的“for”外部的“for”内部,但颜色似乎只是闪烁,这就是我想要实现的:有必要使用 for 函数。 在此处输入图像描述

public void settings() {
    size(500, 500);
}

int estado;
int[] cuadrados;

@Override
public void setup() {
    
    cuadrados = new int[8];

    /*
     * cuadrados[0]=(estado=0); cuadrados[1]=(estado=1); cuadrados[2]=(estado=2);
     * cuadrados[3]=(estado=3); cuadrados[4]=(estado=4); cuadrados[5]=(estado=5);
     */

    println(estado);
    println(cuadrados);
}

@Override
public void draw() {
    
    
    background(255);
    if (estado == 0) {
        fill(255, 255, 0);
    }
    if (estado == 1) {
        fill(0, 0, 255);
    }
    if (estado == 2) {
        fill(255, 0, 0);
    }
    if (estado == 3) {
        fill(255);
    }
    if (estado == 4) {
        fill(255);
    }
    for (int i = 0; i < 8; i++) {

        cuadrados[i] = estado;

        rect(4 + (i * 62), 200, 55, 55);
        estado += 1;
        if (estado > 4) {
            estado = 0;
        }

    }

}

}

任何帮助表示赞赏,谢谢。

标签: javaarraysfor-loopprocessing

解决方案


我不确定我的答案,但你可以试试这个,我认为它有效。

while(i<8)
{   switch(estado)
   {
    case 1:
    fill(255,0,0);
    break;
    case 2:
    fill(0,255,0)
    break;
    default:
    draw(); or i = 1;// try using both, Either u set the value to 1 again. or you call 
                     //that function again and again 
    }
}

推荐阅读