网格偏移一个

时间:2016-11-16 22:38:45

标签: javascript p5.js

好的,所以我一直试图让网格在我的画布上工作。这就是我所拥有的:

codepen link

for (var j = 0; j < rows; j++) {
    for (var i = 0; i < cols; i++) {
        var pix = new Pixel(i, j);
        grid.push(pix);
    }
}

现在,问题是在网格数组上,索引0上的像素实际上是第二个,最后一个是第一个。我想改变它,但我无法看到代码中的问题是什么。

1 个答案:

答案 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

这不会导致您的代码出现任何问题,但这是一个很好的习惯。