【问题标题】:For-loop in draw() Processingdraw() 处理中的 for 循环
【发布时间】:2014-05-23 18:38:16
【问题描述】:

我把这段代码放在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);
    }
  }
}

【问题讨论】:

  • 你的i++j++呢?
  • 好的。在编辑中修复它。

标签: for-loop processing draw multidimensional-array


【解决方案1】:

for循环应该是这样的

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

当你想跳过它时,你应该添加一个分号。

【讨论】:

    【解决方案2】:

    首先,您没有添加 i++ 或 j++,因此 for 循环不会运行。接下来,draw 函数每秒运行 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;
    }
    

    【讨论】:

    • 这会使黑框在屏幕上移动并重新出现在下一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2021-12-12
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多