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

问题描述 投票:0回答:1

我读了维基,但这对我来说很困惑。有人可以用简单的语言解释它吗?我有一些疑问1.捕获侦听器和普通侦听器也是scene2D提供的众多侦听器之一,如InputListener,ClickListener等

  1. 目标和听众演员有什么区别?
libgdx scene2d
1个回答
1
投票
  1. 不,这些术语描述了您是否已将其中一种类型的侦听器指定为捕获侦听器。捕获侦听器允许演员有机会拒绝其后代之一的事件。例如,某种组窗口小部件可以根据某些条件决定是否拒绝按下其中的按钮。我认为内置的ScrollPane类使用它来防止在滚动视图时操纵按钮和滑块。大多数人都没有理由使用它,因为它适用于具有非常特殊行为的自定义小部件。
  2. 目标和听众的演员通常都是一样的。侦听器actor是您将侦听器附加到的actor,默认情况下它也是目标。但是你可以将目标actor更改为其他东西。这只是一个允许您使用自定义行为创建侦听器的功能。大多数人都没有用它。我甚至认为它没有被任何内置类使用。

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

  1. UI小部件的ChangeListener(按钮和滑块)。
  2. 如果你将Scene2D用于UI以外的东西(游戏场景),你将继承InputListener以对触摸作出反应。或者也许是GestureListener。

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

动作系统很适合补间,但你可以只是向舞台根添加动作,并使用你自己的非actor类对它们做出外部反应。

© www.soinside.com 2019 - 2024. All rights reserved.