2013-08-19 84 views
0

所以,我目前正在學習過Android的遊戲編程傻瓜書,並已運行到哪裏(128頁),我給出的代碼&&語法錯誤AGP傻瓜

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行伴隨着「標記上的語法錯誤」錯誤& &「,拋出預期」。我不知道如何解決這個問題,我真的很感激任何選擇或幫助。

回答

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 
    }