其他

时间:2016-04-21 14:17:50

标签: syntax-error processing

我正在制作一个声音板,当你点击一个按钮时播放声音(第一个迷你项目非常令人兴奋),当我尝试在我的项目中使用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();
}

1 个答案:

答案 0 :(得分:6)

使用适当的缩进来真正了解正在发生的事情:

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();
   }
}