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);
}