如何使用"Processing"在屏幕上绘制一个完全填满window的N*N格子
How to draw an N*N grid on the screen that completely fills the window by using "Processing"
如何在屏幕上绘制一个完全填满window的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 );
}
}
}
}
当我 运行 这段代码时,我只得到一个空白的白屏。我错过了什么吗?
查看这一行:
rects = new boolean[100][100];
这将创建一个 100x100 二维数组 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;
如何在屏幕上绘制一个完全填满window的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 );
}
}
}
}
当我 运行 这段代码时,我只得到一个空白的白屏。我错过了什么吗?
查看这一行:
rects = new boolean[100][100];
这将创建一个 100x100 二维数组 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;