Libgdx 如何在Ashley中使用Signal/Listener类

Libgdx 如何在Ashley中使用Signal/Listener类,libgdx,Libgdx,LibGdx-Ashley系统包括一个包信号,其中包含一个类信号和一个接口侦听器。关于何时/为什么/如何实际使用这些工具,文档中还不清楚。 根据文档,用于 …将事件分派给多个侦听器 而且是 …用来听信号 除此之外没有其他信息。有人知道这些是如何实际使用的吗?我从未与ashley合作过,但我想这只是一种观察者模式。您可以创建一个信号和。向其中添加实现侦听器的对象。无论何时signal.dispatch(myObject)添加到该信号中的所有侦听器都将触发receive(signal-signal,

LibGdx-Ashley系统包括一个包
信号
,其中包含一个类
信号
和一个接口
侦听器
。关于何时/为什么/如何实际使用这些工具,文档中还不清楚。 根据文档,用于

…将事件分派给多个侦听器

而且是

…用来听信号


除此之外没有其他信息。有人知道这些是如何实际使用的吗?

我从未与ashley合作过,但我想这只是一种观察者模式。您可以创建一个
信号
。向其中添加实现
侦听器的
对象。无论何时
signal.dispatch(myObject)
添加到该信号中的所有侦听器都将触发
receive(signal-signal,T-object)
。在这里,您可以访问信号和随信号发送的对象

当具有一对多关系时,可以使用观察者模式。例如,带轮子的方向盘。你的方向盘实现了监听,方向盘有一个信号。无论何时转动方向盘,都会向车轮“发送”一个信号,通知它们转向

如果你不理解观察者模式,我建议你先学习这个。开始创建这个模式的一些基本实现,直到您理解它为止


第二个链接是broken@Caketray修正了,双http