Scene2D 事件处理中的捕获和正常阶段是什么?

What is capture and normal phase in event handeling in Scene2D ?

我阅读了 wiki,但它让我很困惑。有人可以用通俗易懂的语言解释一下吗?我几乎没有怀疑 1. Is capture listener和normal listener也是scene2D提供的众多监听器之一,如InputListener,ClickListener等

  1. target 和 listener actor 有什么区别?
  1. 否,这些术语描述了您是否已将其中一种类型的侦听器指定为捕获侦听器。捕获侦听器允许演员有机会拒绝其后代之一的事件。例如,某种组小部件可以根据某些标准决定是否拒绝按下其中的按钮。我认为内置的 ScrollPane class 使用它来防止在滚动视图时操纵按钮和滑块。大多数人没有理由使用它,因为它用于具有非常特殊行为的自定义小部件。

  2. 目标演员和听众演员通常是相同的。侦听器 actor 是您将侦听器附加到的 actor,默认情况下它也是目标。但是您可以将目标演员更改为其他内容。这只是一个允许您创建具有自定义行为的侦听器的功能。大多数人不会用到这个。我什至不认为它被任何内置的 classes 使用。

监听器系统的复杂性旨在让按钮和小部件像传统的 UI 一样对输入做出反应。除非您正在设计具有自定义输入行为的小部件,否则您只需要

  1. UI 小部件(按钮和滑块)的 ChangeListener。

  2. 如果您将 Scene2D 用于 UI(游戏场景)以外的内容,您将子class InputListener 以对触摸做出反应。或者也许是 GestureListener。

我使用 Scene2D 构建了一个小游戏,发现它对于非 UI 东西有点笨拙。我个人不会再这样做了。所以我想说 99% 的制作简单游戏的人应该只使用 ChangeListener。

动作系统非常适合补间,但您可以只将动作添加到阶段根,然后用您自己的非演员 classes 在外部对它们做出反应。