0

我的LibGDX游戏中有一个屏幕,基本上是两列,第一列占 75%,包含标签/按钮,第二列占 25%,包含文本和图像。为此,将所有代码直接包含在屏幕本身中是非常复杂的。

我想做的是让一个对象包含屏幕左侧的逻辑,一个包含右侧的逻辑。这类似于ASP.NET,我有一个页面,其中一个用户控件用于左侧内容,一个用于右侧内容。

如何在LibGDX屏幕中设置?

4

2 回答 2

1

我建议您使用scene2D并为每个元素创建新类。

例如,您可以创建一个为每一侧扩展Group的类。然后,您可以使用您的逻辑将 ClickListener 添加到组或组的每个 Actor。

于 2013-05-10T11:11:38.067 回答
0

实际上有很多方法可以做到这一点。您可以通过检查是否有东西被触摸来自己处理事件,如果是这样,您可以自己处理位置。

另一方面,您可以通过Actors在舞台内部创建并将其设置inputprocessor到舞台来使用 scene2D 系统。在这种情况下,每个事件都被赋予actors,如果它在他的范围内,他会根据实现的方式处理它(看看这个:ActionListenes)。

  1. 因此,在您的情况下,您可以创建 2 个Actors不可见的,并且每个人都有自己的一面。
  2. 您也可以使用Button from libgdx 并在没有背景/前景等的情况下使用它。只需设置正确的尺寸并使其在 alpha 或无背景下不可见。
  3. 或者您确实检查了游戏循环的每个循环是否有东西被触摸,如果是这样,您确实按照您的意愿处理该事件。看看这个:输入轮询创建输入处理器
于 2013-05-10T20:31:53.660 回答