1

我是 Android 和 Java 开发的新手,我希望实现一个自定义事件,但是经过大量研究并尝试了各种不同的方法,我似乎无法让它工作。

我实际上是在尝试创建一个战斗系统,我已经在 .NET 中实现了该系统,但似乎无法在 Java 中运行,它需要我为诸如 DealtDamage、DamageReceived、Died 等事物创建事件。

这将继承来自角色对象的信息,这些信息由诸如 hp、攻击、防御等组成。

有人可以提供示例代码如何创建这些事件,然后在各种类中对它们进行操作。

例如造成的伤害

user1 atk - user 2 def = 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 回答