我正在重新组装我为Android写的游戏。它是用简单的画布编写的,用于学习基础知识。为了达到更高的水平,我将在libgdx
的帮助下编写它。
为了做到这一点,我考虑了stage
我在哪里添加我的Actors
(怪物,技能,如果他们是活跃的,角色和可能是粒子)。我读到这是一个讨论2D游戏的好方法。
关于它的一些更多信息。这是一个基于方形系统的2D RPG。每一步都是移动到下一个广场。(也许是后面的瓷砖。目前背景是单张图片)
在旧版本中,我为每个Monster使用了线程,因此他们可以按照“希望”处理和做出反应。这在libgdx中是否也可以,或者我是否需要以不同的方式处理它?</ p>
如果我想将角色从一个方格移动到下一个方格,我有一个计算的时间,我通过更改它的像素位置将精灵从一个方格移动到下一个方格。在libgdx中,我将使用方块作为init的相机。所以(40f,30f)例如。像我在旧游戏中那样在thread
内移动角色是否有效?所以我知道从一个广场到下一个广场需要500毫秒,所以每50毫秒ppuX需要+ 0.1f。我也根据它更新了精灵。因此,如果它移动得更快,精灵会变得更快。
我也以这种方式编写技能。例如,火球是一个被线程移动直到它碰到某个东西的图片。
查看“原型”的图片。
答案 0 :(得分:3)
这可能是可能的,但是为每个实体分配一个线程是一个非常糟糕的主意 - 事实上它很糟糕,它有一个相应的TheDailyWTF条目:
http://thedailywtf.com/Articles/Sprite_Threading.aspx
在这种方法中,您不仅不必要地消耗资源,而且从长远来看,您也会危及您的理智。我相信链接条目以及评论,详尽阐述了为什么会这样。
通常,libgdx通过ApplicationListener
类(特别是render()
方法)支持“主循环”模型。 There is a number of tutorials让您入门including one for Android。
我知道这种方法最初可能看起来更有限,但它允许更可靠的代码。
答案 1 :(得分:1)