1

私はAndroidとJavaの開発に不慣れで、カスタムイベントの実装を検討していますが、多くの調査を行い、さまざまな異なるアプローチを試したため、それを機能させることができないようです。

基本的に、.NETで実装したが、Javaで動作しないように見える戦闘システムを作成しようとしています。これには、DealtDamage、DamageReceived、Diedなどのイベントを作成する必要があります。

これは、hp、攻撃、防御などで構成されるキャラクターオブジェクトからの情報を継承します。

誰かがこれらのイベントを作成し、さまざまなクラスでそれらを実行する方法のサンプルコードを提供できますか?

例:ダメージ

user1atk-ユーザー2def= totalatk return totalatk

ありがとう

4

1 に答える 1

2

クラスからコールバックを生成しようとしている場合(イベントを発生させる):

コールバックを生成するクラス:

public interface EventHappened{
        void callback(int arg1, String arg2);
}

...

ArrayList<EventHappened> eventHappenedObservers = new ArrayList<~>;

...

public void setEventHappenedObserver(EventHappened observer){
     eventHappenedObservers.add(observer);
}

...

if (eventHasHappened){
    for (EventHappened eventHappenedObserver:eventHappenedObservers){
        eventHappendedObserver.callback(event.number,event.toString());
    }
}

...

消費クラスでは:

instanceOfClassRaisingCallback.setEventHappendedObserver(new EventHappened{
     @Override
     void callBack(int arg1, String arg2){
          doStuffWithArgs(arg1,arg2);
     }
   )};

(メモリから、タイプミスと構文エラーについてお詫びしますが、あなたは考えを理解します...私は願っています)

幸運を。

于 2012-09-17T16:53:20.610 に答える