一个充满演员或充满细胞的画面?

时间:2014-04-05 22:57:44

标签: libgdx

我是libgdx的新手(不是java的新手),我尝试做我的第一场比赛...

为什么我在这里...我不想在这个新游戏的旅程结束时发现我用错误的方法或错误的对象开始,我的一生通过这样做来学习(24年这样做),我太老了,不能重新开始:O)

非常简单的游戏,我有一个充满单元格的屏幕(100x100单元格),我将这些单元拖放到这些单元格上并升级或删除它们(等等......)另外我需要有一种弹出窗口我将图像放在单元格或演员身上。

我想知道的是最好的方法是什么,我已经尝试了使用拖放和hexes网格的libgdx示例。使用舞台和演员进行拖放操作,并且仅使用地图和单元格制作十六进制网格。

我认为最好的方法是舞台上的演员事,如果这是完美的方式,我是否使用相同的方法来构建它,我做一个循环(像细胞)但我创建演员或我可以使用简单的地图事物并将actor放入那些单元格中

另外,我如何处理所有细胞/演员的掉落,当我看到拖放示例时,这个问题一直困扰着我。

无论如何都有很多问题,但我只想要一个简单的答案,我应该继续我的旅程......一个充满演员的舞台或一个充满细胞的地图。如果您有一个很好的例子来展示如何处理特定细胞或演员的下降,欢迎您:O)

非常感谢旧计时器

1 个答案:

答案 0 :(得分:2)

如果游戏是2d,那么Actor方法确实是可行的方法。我有一个基于十六进制的游戏,其中单位被移动并使用Actor类作为六边形和单位。

每个Actor都有一个draw回调,当Actor被添加到Stage并且stage.draw在屏幕{{}}中被调用时执行1}}回调。

每个演员都可以添加一个render来处理触摸事件。为此,您必须先创建InputListener并使用InputMultiplexer方法添加当前Stage。然后,Gdx需要知道新的.addProcessor(),因此请调用InputMultiplexer,其中x是Gdx.input.setInputProcessor(x)变量的名称。

现在只需将InputMultiplexer个类添加到舞台,并让每个Actor调用Actor,其中y是x.addListener(y)的子类。

总之,我的map类看起来是一个InputListener子类,并且具有:

  • A Screen
  • 处理多个事件的Stage
  • 添加到InputMultiplexer的{​​{1}}类,我将Group类添加到
  • 添加到Stage的每个Actor个类都有Actor个注册
  • Group有一个render()回调,其中InputListener类的Screen方法被称为
  • 不要忘记draw,设置其视口并调用Stage方法

希望这有帮助!