我是Android和Java开发的新手,我正在寻求实现一个自定义事件,但是我做了大量的研究并尝试了各种不同的方法,我似乎无法让它工作。
我本质上是在尝试创建一个战斗系统,我已经在.NET中实现但似乎无法在Java中工作,它需要我为DealtDamage,DamageReceived,Died等创建事件。
这将是来自hp,攻击,防御等事物的人物对象的信息。
有人可以提供示例代码,我如何创建这些事件,然后在各种类中执行它们。
e.g。损害处理
user1 atk - user 2 def = totalatk return totalatk
由于
答案 0 :(得分: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);
}
)};
(从记忆中,为拼写错误和语法错误道歉,但你明白了......我希望)
祝你好运。