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