2016-04-20 6 views
-1

私は、敵が画面の上部から下部に落ちるアンドロイド・エクリプス(Java)を使用してゲームを作っています。私はそれらを落とすことに成功した(少し速すぎるが、今は十分に良い)が、私は彼らがタップに正しく反応するようにすることができませんでした。最初は、タッチが発生したときはいつでもすべての敵が敗北しましたが、今は全く応答がありません。私の質問は、プレーヤーの入力を正しく読み取る方法です。これを読んだ人に感謝します。これは私の最初の投稿ですので、質問が間違って提出された場合はお詫び申し上げます。スクリーンの上から落ちたときにタップして倒す敵を作る方法は?

public boolean onTouchEvent(MotionEvent e) { 

    switch (e.getAction() & MotionEvent.ACTION_MASK) { 

    // Player has touched the screen 
    case MotionEvent.ACTION_DOWN: 

     paused = false; 
     // Has the player tapped an alien 
     for (int i = 0; i < enemyNumb; i++) { 
      if (aliens[i].getVisibility() & aliens[i].getX() == e.getX() & aliens[i].getY() == e.getY()) { // Enemy defeated code goes here   
+1

1つのピクセルのクリックに反応しようとしていますか?クリックをより正確に検出できるボックスを実装する必要があります –

答えて

0

わかりました。私は、ボックス内でクリックを検出することで機能するようになりました。これは私が前に使ったことですが、エイリアンは同じ箱に入れられて消えてしまい、それが間違っていると私に信じさせました。ご提案いただきありがとうございますcricket_007。

if (aliens[i].getRect().contains(e.getX(), e.getY())) 
関連する問題