mousePressed在Processing中的某个区域内

时间:2016-11-25 15:12:08

标签: if-statement arduino mouseevent processing

我有一个背景图片,我希望用户认为他们通过Processing进行交互。图像上有一个单词列表,当用户点击单词周围的区域时,我想播放声音并将序列号发送给Arduino。

除此之外,我无法正确使用mousePressed代码。我现在正在用println("yikes")进行测试,现在我点击屏幕上的地方很“我喜欢”。

除此之外,我在其他方面遇到了我无法弄清楚的错误。帮助赞赏。

  void setup() {
  size(1475, 995);
  // The image file must be in the data folder of the current sketch 
  // to load successfully
  img = loadImage("PaceTaker.jpg");  // Load the image into the program
}

void draw() {
  // Displays the image at its actual size at point (0,0)
  image(img, 0, 0);
}
void mousePressed() {
  if (mouseX>105 && mouseX<337 && mouseY>696 && mouseY<714); 
  {
    println("yikes");
    stroke(0);
  }
  else println("hello"));
}

1 个答案:

答案 0 :(得分:2)

密切注意这一行:

if (mouseX>105 && mouseX<337 && mouseY>696 && mouseY<714); 

请注意,它以;分号结尾。

这基本上说“如果鼠标在区域内,什么也不做”。然后它进入下一个代码块并始终运行它,这就是为什么你总是看到"yikes"打印出来的。

此行上也有编译错误:

else println("hello"));

因为它有一个额外的)右括号。

要解决这两个问题,请养成在{ }if语句中始终使用else大括号的习惯,即使它们只是一行,也要经常检查对于流浪;分号:

  if (mouseX>105 && mouseX<337 && mouseY>696 && mouseY<714) {
    println("yikes");
    stroke(0);
  } else {
    println("hello");
  }