ための独自のメソッドを作成しようとしている私は2つのクラスがあります(私はいくつかのメソッドを定義する)にonKeyDownイベント(アンドロイド)
MainPanel(私は古典的なゲームの構造を作成するために、これらの方法でループを行う) MainThreadをそれは適切な方法としてonKeyDownメソッドを作成して、ループ内でそれを使用することが可能です場合、私はキーが押された場合には、右の作品
@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;
}
キャプチャするには、このメソッドを持っているMainPanelクラスで
は、私の質問はリスナーを避けるために。アイデアはMainPanelで、このような方法で定義することである。public void myOwnOnKeyDown(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_DPAD_UP:
Log.i(TAG,"key up was pressed");
}
}
をそして、「私はドン次の行で
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);
}
}
...このようMainThreadクラスに私のループにそれを呼び出しますパラメータkeyCodeを渡す方法を知っています...
this.MainPanel.MyOwnOnKeyDown(keyCode, event);
これは可能でしょうか?あなたがゲームやプログラムのいくつかの他の同様のタイプをオーサリングしようとしているよう
私は本当にあなたの設計方法論に疑問を抱いています。私はあなたが解決しようとしている問題があれば、より洗練された解決策があるという事実に賭けるでしょう。 – user432209