好的,所以我一直试图让网格在我的画布上工作。这就是我所拥有的:
for (var j = 0; j < rows; j++) {
for (var i = 0; i < cols; i++) {
var pix = new Pixel(i, j);
grid.push(pix);
}
}
现在,问题是在网格数组上,索引0上的像素实际上是第二个,最后一个是第一个。我想改变它,但我无法看到代码中的问题是什么。
答案 0 :(得分:3)
查看您的$routes['industry'] = array(
'route' => ':industry/:type',
'defaults' => array(
'module' => 'default',
'controller' => 'index',
'action' => 'branche',
'type' => 'car',
'industry' => 'industry'
),
'reqs' => array(
'industry' => '(industry|branche)',
'type' => '(car|textile)'
)
);
功能:
Pixel#draw()
逐行阅读此代码,并真正考虑它正在做什么。用一张纸和一支铅笔逐步理解它究竟发生了什么。
请注意,您首先调用this.draw = function () {
rect(this.x, this.y, l, l);
fill(0);
stroke(20);
if (this.on)
fill(255);
}
函数 ,然后重新设置填充和描边。
这将使每个方格具有上一个单元格的颜色。因此,不是您的第一个rect()
位于第二个方格中,而是第二个Pixel
根据第一个Pixel
的颜色绘制自己。基于最后Pixel
的颜色,第一个Pixel
绘图本身也是如此。
要解决您的问题,只需设置笔划并填写,然后再调用Pixel
功能。
旁注:你也可能想养成为每个rect()
语句使用{ }
大括号的习惯,甚至是这样的单行:
if
这不会导致您的代码出现任何问题,但这是一个很好的习惯。