2016-08-23 8 views
-1

私はJavaMEを使ってゲームを開発しています。私は自分のゲームの衝突数を数えなければなりません。 私はcollidesWith()メソッドを使用している、と私はこのような何かやっている:衝突の数が3であれば、あなたが見ることができるようにJavaMEのcollidesWith()での衝突数を数えるには?

private void checkCollision() 
{ 
    if (spBoy.collidesWith(spBall, true)) { 
      this.collides++; 
      if (this.collides == 3) { 
       //here I will show a Game Over image. 
      }     
    }   
} 

を、ゲームオーバーですが、私は数えることができません私がthis.collidesをインクリメントすると、自動的に3回の衝突が発生するため、衝突の回数が増えます。

答えて

0

メインループ内にcheckCollision()と呼んでいるとします。つまり、毎秒30〜60回呼び出されます。 2番目のスプライトがまったく動かない場合は、30〜60回の衝突が発生します(サイクルごとに真であるため)。 あなたがしたいのは、spBoyスプライトが傷つけられないタイマーを追加することです。

int safeTimer = 0; 
int timeSinceLastLoop; // Add this calculation to your loop 

private void checkCollision() { 
safeTimer-= timeSinceLastLoop; 
if (spBoy.collidesWith(spBall, true) && safeTimer<=0) { 
    this.collides++; 
    safeTimer=3000; // Wait 3 seconds till vulnerability 
    if (this.collides == 3) { 
    //here I will show a Game Over image. 
    }     
}   
} 
関連する問題