2011-11-21 84 views
1

我正在爲Android設計一款迷你遊戲。當我點擊並按住我點擊的按鈕時,我預計應該每隔一段時間觸發一次事件。安卓關鍵關機

public boolean onKeyDown(int keyCode, KeyEvent msg) { 
    if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) { 
     moveLeft(); 
     return (true); 
    } 

    if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) { 
     moveRight(); 
     return (true); 
    } 
} 

如果我在我的鍵盤上使用模擬器和箭頭,此代碼有效。 我也放下了佈局上的2個按鈕,現在想要在一段時間間隔觸摸按鈕時,向左或向右移動物體的效果相同。 我該怎麼做?

+0

你能詳細說明你的意思是「在一個時間間隔」嗎? – Polynomial

回答

2

什麼按鈕? 在Android手機上沒有左右按鈕。

但無論如何,最好的辦法做到這一點取決於你的遊戲是如何構建的我猜,你可能應該使用postDelay或線程。

也許你可以嘗試設置將被設置爲true的布爾值時,該鍵一次假時,其向上,然後運行postDelay時,該鍵一次像這樣

new Handler().postDelayed(new Runnable(){ 
     public void run(){ 
      if (movingLeft) //your boolean 
       moveLeft(); 
     } 
    },1000); //time interval in milliseconds 

不要忘記爲了殺死它,你不希望成千上萬的處理程序運行.. 雖然我沒有任何編程遊戲的經驗.. 希望它有幫助。

+0

謝謝我設法使用postDelayed。 –

+0

我很高興我能幫上忙!你能把它標記爲正確答案嗎? :) – Joe