处理中的 goto 10 尝试失败

Posted

技术标签:

【中文标题】处理中的 goto 10 尝试失败【英文标题】:Failed attempt at goto 10 in Processing 【发布时间】:2022-01-06 18:27:27 【问题描述】:

我尝试过关于处理的 Goto 10 练习,但不知道我的错误在哪里。目的是制作类似 Goto 10 的场景,但我缺少一些东西。我相信循环可能会关闭。

//line size
int a = 15;


void setup()

  background(255);
  size(500,500);
  noLoop();
  strokeWeight(2);
  



void draw()


  
  
  //    Y
  for(int lineY = 0; lineY < height/a; lineY++)
    
    //   X
  for(int lineX = 0; lineX < width/a; lineX++)
  float randomN = random(1);
  
  pushMatrix();
  if (randomN >= 0.5)
  rotate(-90);
  
  else 
  rotate(-45);
  
  
        
  line(0,0,a,0);
  popMatrix();
  translate(a, 0);
  
  translate((-width), a);
 


【问题讨论】:

您的答案在文档中:processing.org/reference/noLoop_.html 您好,以后如果您能更清楚地解释您的问题,您将得到更好的答案。你期待看到什么,问题到底是什么?它有助于避免混淆,并使其他人更容易提供帮助。 【参考方案1】:

每列 x 移动的平移量不等于草图的整个宽度:for(int lineX = 0; lineX &lt; width/a; lineX++)

width/a 在您的示例中将是 33.333 (500 / 15)。所以你最终会得到 33 个循环和 33 列。但是 33 列 * 15 像素宽 = 495(不是 500)。

因此,当您尝试使用 translate((-width), a); 转换回新行的开头时,您每行都向后移动了一点点(-500 而不是 -495)。

要解决此问题,请确保仅将向后移动到您在绘制列时向前移动的距离:

int numCols = floor(width/a); // calculate the number of columns
translate((-numCols * a), a); // move back the correct x distance

【讨论】:

以上是关于处理中的 goto 10 尝试失败的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Smack XMPP API 处理(失败的)登录尝试

带有 for 循环的 goto() 函数

c_cpp 尝试goto状态转换表达式引擎

MySQL 连接中的“尝试失败”

ios UITest中的间歇性“尝试启动失败”

BB10 QNX Momentics IDE 中的 SSL 握手失败