0

質問が多すぎて申し訳ありませんが、十分に明確なものが見つかりませんでした。

Android用の小さなゲームエンジンを開発しています。タッチ スクリーンを制御するゲームパッド クラスを既に実装しています。ゲーム パッド クラスは、誰かが右側の領域に触れるとアナログ スティックを描画し、側面のボタンにも描画します。

問題は、簡単にするために、メインクラスの GAME を LEVEL クラスと GAMEPAD クラスとして持っていることです。

GAMEPAD コード内で、誰かがボタンを押したり離したりしたときにトリガーできます。問題は、ボタンを押してメインの GAME クラスに何かをトリガーしたくないということです。スイッチは GAMEPAD クラスで処理されます。

C# では、イベントとデリゲートを使用します。

Javaでは手がかりがありません..登録されている人にgpadがメソッドを呼び出すようにしたいです。

これは、メインの GAME クラスで達成したいと考えていることです。

.. void onGpadClick (e EventArgument) { if (e.Button==Button.A&&e.ButtonState==ButtonState.Pressed) Shoot();

}

前もって感謝します

4

2 に答える 2

0

あなたができることはこれです:

  1. GAMEPAD クラスが GAME クラスのインスタンスを受信できるようにします (コンストラクターまたは set メソッドによって)。
  2. onButtonAClicked()GAME クラスでは、各ボタンに対して実行したいことを含むメソッドを追加しonButtonBClicked()ますonPadClicked()。(それらがオプションの場合 - オプションが他にある場合はさらに追加してください)。
  3. 各ボタンに OnClickListener を設定して GAMEPAD クラスからクリックを検出します。buttonA.setOnClicklistner( new OnClickListener() { //override the onClick-method here } )次に、onClick メソッドをオーバーライドし、そこに実装を追加しますmyGame.onButtonAClicked()

それが役に立てば幸い。

于 2011-09-08T11:25:40.190 に答える
0

これは、インテントを使用して実現できます。

http://www.vogella.de/articles/AndroidIntent/article.html

于 2011-09-08T11:07:26.517 に答える