【发布时间】:2018-09-07 12:51:52
【问题描述】:
我阅读了 wiki,但对我来说非常困惑。有人可以用简单的语言解释吗?我有几个疑问 1. 捕获监听器和普通监听器也是scene2D提供的众多监听器之一,如InputListener、ClickListener等
- 目标演员和听众演员有什么区别?
【问题讨论】:
我阅读了 wiki,但对我来说非常困惑。有人可以用简单的语言解释吗?我有几个疑问 1. 捕获监听器和普通监听器也是scene2D提供的众多监听器之一,如InputListener、ClickListener等
【问题讨论】:
不,这些术语描述了您是否已将其中一种类型的侦听器指定为捕获侦听器。捕获侦听器允许演员有机会拒绝其后代之一的事件。例如,某种组小部件可以根据某些标准决定是否拒绝按下其中的按钮。我认为内置的 ScrollPane 类使用它来防止在滚动视图时操作按钮和滑块。大多数人没有理由使用它,因为它用于具有非常特殊行为的自定义小部件。
目标和监听参与者通常是相同的。侦听器 Actor 是您将侦听器附加到的 Actor,默认情况下它也是目标。但是您可以将目标演员更改为其他内容。这只是一个允许您创建具有自定义行为的侦听器的功能。大多数人不会有这个用途。我什至不认为它被任何内置类使用。
侦听器系统的复杂性旨在让按钮和小部件像传统 UI 一样对输入做出反应。除非您正在设计具有自定义输入行为的小部件,否则您只需要
用于 UI 小部件(按钮和滑块)的 ChangeListener。
如果您将 Scene2D 用于 UI(游戏场景)以外的内容,您将继承 InputListener 以对触摸做出反应。或者也许是 GestureListener。
我使用 Scene2D 构建了一个小游戏,发现它对于非 UI 的东西有点笨拙。我不会再这样做了,就个人而言。所以我想说 99% 的制作简单游戏的人应该只使用 ChangeListener。
动作系统非常适合补间内容,但您可以将动作添加到舞台根目录并使用您自己的非演员类在外部对它们做出反应。
【讨论】: