2016-07-23 4 views
0

だから、私は衝突のある特別な状況があります。
私のポイントを提供するための例を与える必要があるので、私を聞いてください!
私のゲームでは、私は別のスポットで動作するメインプレーヤーを持って、各スポットは、画面上の独自のボタンがあります!
私は何をしたいのですか?プレイヤーが現場にいるとき、ボタンがまだその場に触れている間に押されたなら、あなたはパスします!
ボタンが押されなかった場合、あなたは負けます。
私はこのすべてを作っていますし、それはいいです!
しかし、私の問題は、私の衝突が衝突の最初のピクセルだけを検出することです!だからあなたはそのボタンの真ん中またはその端にある間にボタンを押すと、それは動作しません!
私はそれがシンプルかもしれないことは知っていますが、私は助けが必要です!
私の衝突方法:時間の最後に衝突検出を行うには?

public boolean collision(GameObject a, GameObject b) 
{ 
    if(Rect.intersects(a.getRectangle(), b.getRectangle())) 
    { 
     return true; 
    } 
    return false; 
} 

if(collision(helobaby.get(i), player)) 
      { 
       helobaby.remove(i); 
       enemykilled.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
         helobabyultimate), player.width + 125, 210, 220, 180, player.getScore(), 12)); 

       if(bbypressed) { 

        missiles.remove(i); 

        killed.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
          babykilled), player.width + 155, 130, 233, 233, player.getScore(), 5)); 

        killed.add(new Death(BitmapFactory.decodeResource(getResources(), R.drawable. 
          rebaby), player.width + 100, 250, 233, 233, player.getScore(), 14)); 

        killed.get(i).getAnimation().setDelay(50); 
       } 
       break; 
      } 

あなたはもう情報が必要な場合だけお願いします。

答えて

0

はやってみます

a.getRectangle().overlaps(b.getRectangle); 

あなたがこれを行う場合は、「」、彼の総面積に、「B」の長方形をオーバーラップしていないxとyピクセルの矩形の場合、それがチェックされます唯一

(英語には申し訳ありません)

+0

コードは正しいですか?私は 'overlaps'にエラーが発生しているので – Ethan