首页 > 解决方案 > 使用 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);

}

标签: javascriptarraysarraylistcolorsp5.js

解决方案


Timer var 和 selectedColour var 未初始化,javascript 将未初始化的 var 设置为未定义,因此在 if 语句中,它永远不会是真的,在底部你不会得到任何东西,但可能会在 colours[] 内得到警告或错误,因为 selectedColour 将是第一个未定义,因此它的模数没有任何意义


推荐阅读