draw()处理中的for循环

时间:2014-05-23 18:38:17

标签: for-loop processing draw multidimensional-array

我将此代码放在Processing中的draw()函数中,但它不起作用。有人可以解释原因,并帮我解决这个问题吗?我想要它做的是循环遍历2d布尔数组的每个元素,并检查它是真还是假。

for(int i = 0; i < elemts.length; i++)
{
  for(int j = 0; j < elemts[0].length; j++)
  {
    if(elemts[i][j] == true)
    {
      rect(i*5,j*5,5,5);
    }
  }
}

2 个答案:

答案 0 :(得分:2)

for循环应该是这样的

for(start; condition; code to excute every turn)

如果你想跳过它,你应该添加一个分号。

答案 1 :(得分:0)

首先,你没有添加i ++或j ++,因此for循环不会运行。接下来,绘制函数每秒运行60次,因此使用一定数量的元素进行for循环并不允许draw()工作。请改用以下代码。

if(elemts[x][y] == true)
{
  rect(x*5,y*5,5,5);
  fill(0,0,0);
}
if(x < elemts.length)
{
  x += 1;
}
if(x == elemts.length)
{
  x = 0;
  y += 1;
}