Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-未捕获类型错误:无法读取属性';显示';未定义的_Javascript_Arrays_P5.js - Fatal编程技术网

Javascript-未捕获类型错误:无法读取属性';显示';未定义的

Javascript-未捕获类型错误:无法读取属性';显示';未定义的,javascript,arrays,p5.js,Javascript,Arrays,P5.js,我正在p5.js中制作一个非常简单的绘图web应用程序,遇到了错误。 错误显示在第10行,但我没有看到错误?也许我的数组有问题 var pixels = []; var drawing = false; function setup() { createCanvas(windowWidth, windowHeight); } function draw() { background(0); for(var i = pixels.length - 1;i >= 0;

我正在p5.js中制作一个非常简单的绘图web应用程序,遇到了错误。 错误显示在第10行,但我没有看到错误?也许我的数组有问题

var pixels = [];
var drawing = false;

function setup() {
    createCanvas(windowWidth, windowHeight);
}
function draw() {
    background(0);
    for(var i = pixels.length - 1;i >= 0;i++) {
        pixels[i].show();
    }
    if(drawing) {
        var nP = new Pixel(mouseX, mouseY);
        pixels.push(nP);
    }
}

function mousePressed() {
    drawing = true;
}
function mouseReleased() {
    drawing = false;
}

function Pixel(x, y) {
    this.x = x;
    this.y = y;

    this.show = function() {
        push();
        noStroke();
        fill(255);
        rect(this.x, this.y, 10, 10);
        pop();
    }
}

问题在于:

for(var i = pixels.length - 1;i >= 0;i++)
为了向后遍历数组,您需要减少计数器,而不是增加它。因此,正确的循环应该是-

for(var i = pixels.length - 1;i >= 0;i--)

代码中没有任何东西显示
像素
是空数组以外的任何东西。该错误表明
像素[i]
未定义。