如何在完全填满窗口的屏幕上绘制N * N网格。 假设n = 8。
我的代码是这样的:
boolean[][] rects;
void setup ()
{
size(300,300);
rects = new boolean[100][100];
fill(0);
}
void draw (){
background(255);
for (int r=0; r<100; r++ ){
for ( int c = 0; c < 100; c++ ){
if ( rects[r][c] == true ){
rect( r*3, c*3, 3, 3 );
}
}
}
}
当我运行此代码时,我只得到一个空白的白色屏幕。我错过了什么吗?
答案 0 :(得分:0)
查看此行:
rects = new boolean[100][100];
这会创建一个100x100的2d boolean
值数组,但它们都具有默认值false
,因为您还没有将它们设置为任何值。
然后看看这一行:
if ( rects[r][c] == true ){
rect( r*3, c*3, 3, 3 );
}
在这里,您要检查特定索引是否为true
,但您尚未将其设置为默认值false
以外的任何其他索引。换句话说,此if
语句永远不会计算为true
,因此永远不会调用rect()
函数。
您需要将部分boolean
值设置为true
,以便此代码执行任何操作。
rects = new boolean[100][100];
rects[50][50] = true;