一個自己的方法,我有兩個類:試圖創建onKeyDown事件(安卓)
mainPanel中(這裏我定義了一些方法) MainThread(其中我做這些方法的循環來創造一個經典的遊戲結構)
在mainPanel中類我有這樣的方法
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
Log.i(TAG,"key up was pressed");
return true;
}
return false;
}
它的工作原理正確捕捉如果按一個鍵,我的問題是,如果有可能創造的onkeydown作爲一個適當的方法,並在循環使用避免聽衆。我們的想法是在mainPanel中定義的方法是這樣的:
public void myOwnOnKeyDown(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
Log.i(TAG,"key up was pressed");
}
}
然後,它調用到我的MainThread類這樣的循環......
public class MainThread extends Thread {
//...
public void loop() {
Canvas canvas;
KeyEvent event; Log.d(TAG, "Starting game loop");
while (running) {
this.MainPanel.MyOwnOnKeyDown(keyCode, event);
this.MainPanel.moveElements();
this.MailPanel.drawElements(canvas);
}
}
在以下行我不噸知道如何通過參數keyCode ...
this.MainPanel.MyOwnOnKeyDown(keyCode, event);
這是可能的呢?
在此先感謝
我真的質疑你的設計方法在這裏。我敢打賭,無論你想要解決什麼問題,都有一個更優雅的解決方案。 – user432209 2011-01-29 17:40:32