2013-05-10 58 views
0

用户控件我有我的LibGDX的游戏画面,将基本上两列,房地产和含标签/按钮,第一个是75%,而接下来为25%,这将包含文本和图片。将所有代码直接包含在屏幕本身中是相当复杂的。理念LibGDX

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

这怎么可能在LibGDX屏幕设置?

+0

虽然drinor的解决方案可能是正确的(这真的取决于你的需求),所以很难确定你正在努力实现在年底到底是什么。通常情况下,屏幕类中不会有太多代码,您可以将大部分逻辑委托给其他类,通常屏幕将是构建对象图的起点。你所问的是完全可能的,听起来像标准的面向对象的编程,但有无数的方法来做到这一点。 – Jyro117 2013-05-10 14:59:53

+0

正如我所说的一个Inputprocessor类将是很好的委托这远离screenclass。 http://code.google.com/p/libgdx/wiki/InputEvent – BennX 2013-05-13 11:14:48

回答

1

我建议你使用scene2D对于每个元素创建新类。

例如,您可以创建为每个边延伸Group一类。然后你可以添加一个ClickListener来分组或者根据你的逻辑给组中的每个Actor。

0

其实有很多方法可以做到这一点。你可以通过检查是否触及事件来处理事件,如果是这样,你自己按位置处理。

在另一边,你可以通过一个阶段内创建Actors使用scene2D系统,并设置inputprocessor舞台。在这种情况下,每个事件都会发送到actors,如果它在其范围内,则根据实施的方式处理它(请查看:ActionListenes)。

  1. 所以你的情况,你可以创建2 Actors这无形之中 和它的每个人都有其副作用。
  2. 你也可以从libgdx使用Button 和使用没有背景/前景或此类。只需设置正确的尺寸,并使其无法通过背景或不透明。
  3. 或者你确实检查了gameloop的每一个周期,如果有的话,如果是的话,你确实处理事件。看看这个:input pollingcreating an input processor