所以,我目前正在学习Android游戏编程傻瓜书,并遇到了问题所在(第128页)我给了代码
case MotionEvent.ACTION_DOWN:
if (X > (screenW-playButtonUp.getWidth())/2 &&
X < ((screenW-playButtonUp.getWidth())/2) +
playButtonUp.getWidth()) &&
Y > (int)(screenH*0.45) &&
Y < (int)(screenH*0.45) +
playButtonUp.getHeight()) {
playButtonPressed = true;
}
break;
并且第4到第6行伴有错误“令牌上的语法错误”&amp;&amp;&quot;,throw expected“。我不知道如何解决这个问题,我真的很感激任何替代或帮助。
答案 0 :(得分:1)
圆括号搞砸了。具体来说,这一行中的第二个)
:
// -- This one
// v
playButtonUp.getWidth()) &&
匹配(
条件的if
,意味着&&
不属于条件。删除额外的)
。
这是括号分析:
if (X > (screenW-playButtonUp.getWidth())/2 && // ( = 3, ) = 2; Nested level: 1
X < ((screenW-playButtonUp.getWidth())/2) + // ( = 3, ) = 3; Nested level: 1
playButtonUp.getWidth()) && // ( = 1, ) = 2; Nested level: 0
Y > (int)(screenH*0.45) && // ( = 2, ) = 2; Nested level: 0
Y < (int)(screenH*0.45) + // ( = 2, ) = 2; Nested level: 0
playButtonUp.getHeight()) { // ( = 1, ) = 2; Nested level: -1?!?
playButtonPressed = true; // Total ( = 12, ) = 13
}