[英]threading in libgdx and general questions to move sprites
我正在重新组装我为Android写的游戏。 它是用简单的画布编写的,用于学习基础知识。 为了达到更高的水平,我将在libgdx
的帮助下编写它。 为了做到这一点,我想到了一个stage
,我添加我的Actors
(怪物,技能,如果他们是活跃的,角色和可能是粒子)。 我读到这是一个讨论2D游戏的好方法。
关于它的一些更多信息。 这是一个基于方形系统的2D RPG。 每一步都是移动到下一个广场。(也许是后面的瓷砖。目前背景是单张图片)
在旧版本中,我为每个Monster使用了线程,因此他们可以按照“希望”处理和做出反应。 这在libgdx中是否也可以,或者我是否需要以不同的方式处理它?
如果我想将角色从一个移动到下一个方格,我有一个计算的时间,我通过改变它的像素位置将精灵从一个方格移动到下一个方格。 在libgdx中,我将使用方块作为init的相机。 所以(40f,30f)例如。 像我在旧游戏中那样在thread
移动角色是否有效? 所以我知道从一个广场到下一个广场需要500毫秒,所以每50毫秒ppuX需要+ 0.1f。 我也根据它更新了精灵。 因此,如果它移动得更快,精灵变得更快。
我也用这种方式编写了技能。 例如,火球是一个被线程移动直到它碰到某个东西的图片。
看到“原型”的图片。
这可能是可能的,但是为每个实体分配一个线程是一个非常糟糕的主意 - 事实上它很糟糕,它有一个相应的TheDailyWTF条目:
http://thedailywtf.com/Articles/Sprite_Threading.aspx
在这种方法中,您不仅不必要地消耗资源,而且从长远来看,您也会危及您的理智。 我相信链接条目以及评论,详尽阐述了为什么会这样。
通常,libgdx通过ApplicationListener
类(特别是render()
方法)支持“主循环”模型。 有很多教程可以帮助您入门, 其中包括一个适用于Android 的教程 。
我知道这种方法起初可能看起来更有限,但它允许更可靠的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.