Javascript-未捕获类型错误:无法读取属性';显示';未定义的
我正在p5.js中制作一个非常简单的绘图web应用程序,遇到了错误。 错误显示在第10行,但我没有看到错误?也许我的数组有问题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;
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]
未定义。