2016-04-20 78 views
-1

我正在製作一個遊戲,使用android eclipse(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

您試圖響應單個像素點擊嗎?您可能需要實施一個可以更準確地檢測其中的點擊的框 –

回答

0

好吧,我通過使用一個盒子來檢測點擊內容,以得到它的工作。這是我之前使用的,但外星人被放入同一個盒子,所以他們都消失了,這讓我相信這是錯誤的。謝謝你的建議cricket_007。

if (aliens[i].getRect().contains(e.getX(), e.getY()))