处理语言中的无效绘制函数

时间:2019-06-10 17:19:37

标签: processing

是否可以在void draw()函数内编写if()函数? 我尝试编写一个程序,如果单击鼠标,draw()应该向我绘制输出。处理显示指向if()的错误
感谢您的任何帮助,谢谢!

2 个答案:

答案 0 :(得分:0)

您不能在抽奖之外进行if()的操作,因此请长回答简短:否。

答案 1 :(得分:0)

如果要在按下鼠标时绘制某物,则有无限的选择。建议您查看mousePressed()mouseReleased()函数,您应该重写这些函数:

void setup() {
  size(500,500);
}

void draw() {
 // nothing is being drawn here, we'll draw from
 // mousePressed at the end of every frame
}

void mousePressed() {
  rectMode(CENTER);
  rect(width/2,width/2,100,100);
}

您可以使用mousePressed()来使代码的其他部分知道它们应做的事,并为draw()中的下一帧做好准备。从中吸取教训通常不是一个好主意。

还有mousePressed变量,它等于true,直到释放鼠标为止。

void setup() {
  size(500,500);
}

void draw() {
  background(0);
 if (mousePressed) {
   rectMode(CENTER);
   rect(width/2,width/2,100,100);
   // if the mouse is released, this code
   // won't be executed, so the background
   // is the only thing that's going to be
   // drawn in that frame
 }
}