2012-01-09 4 views
1

私はゲームをするのが好きですが、ポイントを集めることに困ります。 オブジェクト 'face'がinjekBoxと衝突するたびにキャラクタポイント(charhop +1または-1)を増減させますが、ポイントは1回増減して前の値に戻ります。 ログもまだオブジェクトが を停止した場合でも、私は「顔」は、特定のボックスに衝突した場合は、一度ポイントの変更をしたい、とした後、別のボックス急速に変化する点

char1.setHops(0); 
public void onUpdate(final float pSecondsElapsed) { 

      if (char1.isJump()){ 
       int rockPoint = char1.getPoints(); 
       int maxBox = listBox.size(); 
       int charHop = char1.getHops(); 
       for (int j = 0; j < maxBox ; j++){ 
        if (j == rockPoint){ 
         j++; 
        } 
        Box injekBox = listBox.get(j); 
        if(injekBox.getRectangle().collidesWith(face)){ 
         if(char1.isTurn()){ 
          charHop++; 
          if (charHop == (maxBox - 1)){ 
           char1.setTurn(false); 
          } 
         } else { 
          charHop--; 
         } 
         Log.i(this.toString(),"charHop: "+charHop); 
         injekBox.getRectangle().setColor(1, 0, 0); 
        } else { 
         injekBox.getRectangle().setColor(1, 1, 1); 
        } 

       } 

      } 


     } 
のため申し訳ありません

と衝突し、再び変更された値を印刷悪い書き物... ありがとうございました:)

答えて

1

charHopの範囲は、onUpdateの範囲内です。そのメソッドを終了すると、その変数の内容はなくなります。 char1.getHops()のようなものが必要です - char1.setHops(charHop);のようなものです。

+0

ありがとうございます。ポイントは今変更されていますが、「顔」がボックスに触れると増減します。 1回のタッチでポイントを増減させる方法はありますか? – epndkempot

関連する問題