Javascript 栅格偏移1

Javascript 栅格偏移1,javascript,p5.js,Javascript,P5.js,好的,我一直在尝试在画布上使用网格。以下是我得到的: for(var j=0;j

好的,我一直在尝试在画布上使用网格。以下是我得到的:

for(var j=0;j

现在,问题是在网格阵列上,索引0上的像素实际上是第二个,最后一个是第一个。我想更改它,但我看不出代码中有什么问题。

请查看您的
Pixel\draw()
函数:

this.draw = function () {
    rect(this.x, this.y, l, l);
    fill(0);
    stroke(20);
    if (this.on)
        fill(255);
}
逐行阅读这段代码,真正思考它到底在做什么。用一张纸和一支铅笔一步一步地看完它,以准确地了解发生了什么

请注意,您首先调用
rect()
函数,然后设置填充和笔划

这将使每个方块具有上一个单元格的颜色。因此,并不是第一个
像素
位于第二个正方形中,而是第二个
像素
根据第一个
像素的颜色绘制自身。基于最后一个
像素
的颜色,第一个
像素
绘图本身也是如此

要解决问题,只需在调用
rect()
函数之前设置笔划和填充

旁注:您可能还想养成在每个
if
语句中使用
{}
花括号的习惯,即使是这样的一行:

if(this.one){
   fill(255);
}

这还不会在代码中造成任何问题,但这是一个好习惯。

可能使用
新像素(j,i)而不是
新像素(i,j)?否,这将导致格栅旋转90º
if(this.one){
   fill(255);
}