使用p5.js着色矩形

时间:2018-05-02 12:53:45

标签: javascript arrays arraylist colors p5.js

我正在尝试制作一个每2秒闪烁一次不同颜色的矩形,但我的阵列无效。我不知道为什么。这是我的代码:

var colours = [2];
var selectedColour;
var timer;


function setup() {
    createCanvas(800, 800);    
    colours[0] = color(255, 0, 0);
    colours[1] = color(0, 0, 255);
}

function draw() {
    background(10);

    if (millis() - timer > 2000) {

        selectedColor++;
        timer = millis();
    }


    fill(colours[selectedColour % colours.length]);
    rect(width / 2, height / 2, 50, 50);

}

3 个答案:

答案 0 :(得分:0)

定时器var和selectedColour var未初始化,javascript将未初始化的var设置为undefined,因此在if语句中,它永远不会是真的,也在底部你不会得到任何东西,但可能是颜色[]中的警告或错误,因为selectedColour首先是未定义因此它的模数不会有任何意义

答案 1 :(得分:0)

两个问题:

  1. 您的timer值未初始化 - 将其设置为0或更少 比millis()。这同样适用于selectedColour

  2. 您所选颜色的变量名为selectedColour但是 你正在递增selectedColor

答案 2 :(得分:0)

首先设置定时器变量的默认值并修复两个变量的名称" selectedColour"和" selectedColor"。你的问题将得到解决。