0

所以,我目前正在学习 Android Game Programming For Dummies 这本书,并且遇到了问题(在第 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 行伴随着错误“令牌“&&”上的语法错误,抛出预期”。我不知道如何解决这个问题,我非常感谢任何替代方案或帮助。

4

1 回答 1

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
    }
于 2013-08-19T21:39:01.977 回答