else 上的简单消息错误

simple message error on else

我目前正在制作一个音板,当你点击一个按钮时它会播放声音(第一个迷你项目,所以它非常令人兴奋),当我尝试在我的项目中使用 else 语句时,我得到了一个编译错误。

谁能告诉我我的问题是什么?我很想知道为什么会这样,这样以后就不会再发生了。

我试过使用 else if,但出现语法错误,所以我不知道该怎么做。

这是我的代码中有问题的部分:

void mousePressed(){
if (mouseX > 100 && mouseX < 100 + width
&& mouseY > 100 && mouseY < 100+height)
    s2.play();
    image(p2,1,1);
} else{  //here is where i get the error
  s2.pause();
  s2.rewind();
}

使用适当的缩进来真正了解发生了什么:

void mousePressed(){
   if (mouseX > 100 && mouseX < 100 + width && mouseY > 100 && mouseY < 100+height)
      s2.play();

   image(p2,1,1);
} 
else{
  s2.pause();
  s2.rewind();
}

您的 if 语句 后没有左花括号 {,因此它只计算下一行。然后下面的右花括号 } 关闭 mousePressed() 函数。之后你有你的 else,这是没有意义的。那不是有效的语法。这就是您收到错误的原因。

要修复它,您可能只想在 if 语句后添加一个左花括号 {

void mousePressed(){
   if (mouseX > 100 && mouseX < 100 + width && mouseY > 100 && mouseY < 100+height){
      s2.play();
      image(p2,1,1);
   } 
   else{
     s2.pause();
     s2.rewind();
   }
}