当前位置: 首页 > 知识库问答 >
问题:

如何使用LibGDX?

佟云
2023-03-14

我刚刚开始使用LibGDX进行编码和应用程序开发,我有一些关于它的一般问题和一些更具体的问题。

在我开始之前:我知道我的一些问题可能已经在互联网上的某个地方被问到了,但我发现很难得到一个直接的答案。

所以,最基本的问题第一:

是否有可能在合理的时间内在LibGDX中创建一个普通的应用程序(如愤怒的小鸟或涂鸦跳跃)?在浏览互联网时,我遇到许多人说Unity这样的引擎“使用起来非常简单”,你可以用LibGDX编写游戏所需的时间来创建一个游戏。真的是这样吗?

我的第二个问题与第一个有关:

LibGDX真的值得花时间吗?拿起任何引擎或框架似乎都需要很多工作,所以我想知道LibGDX是一个值得学习的成长平台,还是只是一个不相关的许多框架。

第三个问题更具体一点(也是对我来说最重要的一个):

我如何才能让LibGDX游戏变得漂亮?我知道,一开始听起来很奇怪,但在各种应用商店中查看了数百个应用程序后,我注意到大多数统一应用程序看起来非常整洁,而在坏逻辑画廊中找到的大多数应用程序看起来很糟糕老实说。

所以我想知道是否有一种简单的方法可以将动画、粒子效果、阴影等添加到LibGDX应用程序中。如果我正在编写一个2048克隆(作为一个例子),我如何才能使我的瓷砖滑动在一起,并很好地融合?

制作好看的动画是我最努力的事情...

(如果你想看,你可以看看我创造的东西)

如果您能回答我的任何问题,我将不胜感激!谢谢你通过这个巨大的帖子。

莫弗先生

共有3个答案

耿敏达
2023-03-14

>

  • 从生产力的角度来看,这更容易是的

libgdx是100%值得的。libgdx帮助我的很大一部分是掌握这些应用程序的支持是如何工作的。这在统一调试问题和整体提升我的知识方面帮助很大。

如果你有很好的图形和对框架的理解,那么你可以制作一个看起来很漂亮的libgdx游戏。不同之处在于,统一简化了过程。你看到的所有演示都来自大量的项目。由于libgdx是游戏开发的良好开端,将会有大量的项目,没有证据表明投入了多少工作和时间。

曹浩
2023-03-14

一个迟到的答案,但希望有人会发现这很有用。

在这里查看我对一个类似问题的回答:我需要什么来获得具有这样图形的android游戏?我使用了libgdx和Unity,并在答案中讨论了我的经验。在这一点上,我支持大多数中小型游戏的Unity。编辑器确实让开发变得更加容易(尤其是对于一个人的团队)。Libgdx Overlapp2D Ashley(实体组件系统)基本上是unity imo的一个非常轻量级的版本。走开源路线,你肯定会学到更多,因为你将更多地参与将这些工具/概念粘在一起。要直接回答您的个人问题:

问题1:

有很多用libgdx制作的好游戏。你在图库中看到很多看起来很糟糕的游戏是因为提交的游戏是按时间排序的。画廊并没有优先考虑好的游戏,这在不久前是一个社区的决定。像Unity这样的引擎当然会首先展示最好的游戏。要看一些好看的libgdx游戏,请查看Robotality的游戏。另外,看看libgdx论坛的“展示”部分;按回复数排序将显示过去几年制作的一些有趣的游戏。

至于统一更容易使用的说法,我同意。我自己做出了改变,只是因为几个月后回到一个项目中,并开始玩弄它是多么容易。当你的游戏主要是代码的时候就不那么容易了。

问题2:

如果您想学习,Libgdx是更好的方法。因为它是一个框架,您将更密切地处理构成游戏引擎的组件。您将把自己的游戏引擎与提供的API放在一起。与Unity不同,您必须选择是否要使用像Ashly这样的实体组件系统。您将决定何时更新物理引擎、何时渲染、如何加载和管理资产等。同样,与Unity不同,没有强制结构。

您将花时间阅读libgdx编写得非常好的源代码以及优秀的github技术文档。我想说的是,使用libgdx时,制作游戏的整体努力更大,因为学习。如果你有时间,这很好,但如果你只是偶尔把发展作为一种爱好,这可能会令人沮丧。

问题3:

这个问题有点不清楚。正如我上面所说,有很多看起来很糟糕的游戏是用统一制作的,他们只是不在他们的画廊/展示游戏中展示它们。许多艺术不好的游戏都是用所有流行的游戏引擎制作的。

Libgdx有你想要的东西:结帐插值功能,用于平滑控制对象运动,粒子编辑器创建

希望这能帮助人们决定使用什么工具。

强志学
2023-03-14

问题1:

如果你擅长LibGDX并且对应用编程接口有相当多的了解,制作像愤怒的小鸟或涂鸦跳跃这样的游戏会很容易。Unity更容易使用,因为GDX没有图形用户界面编辑器——这意味着你必须使用坐标定位东西。

问题2:

我认为LibGDX值得做。它是免费的,免版税的,这与Unity不同,这很好,而且它在Java,所以它相对较快。

问题3:

为了制作粒子,有一个2D和3D粒子编辑器,你可以从LibGDX网站下载,如果你导入“工具”模块,也可以从IDE运行。对于动画,可以使用Animation类轻松制作精灵表动画,并且可以使用MathUtils等函数平滑地移动(对于2048克隆)。lerp()随着时间的推移,平滑地将一个值插值到另一个值,并随着它越来越近而变慢。

 类似资料:
  • 如何使用

  • 将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例

  • 基础运用 Redis::set('user:profile:' . $id, "Swoft"); $userDesc = Redis::get('user:profile:' . $id); 你可以通过 Redis:: 调用任何 Redis 命令。Swoft 使用魔术方法将命令传递给 Redis 服务端,因此只需传递 Redis 命令所需的参数即可。示例: Redis::set('name',

  • 引入 WeUI.css文件 利用 vue init mpvue/mpvue-quickstart my-project 初始化一个 mpvue 项目,然后在 /src/main.js 中引入 weui.css 由于是在小程序中使用,于是就直接使用了 weiui-wxss 中的样式文件,官方提供的是 weui.wxss,因此手动转成了 weui.css,然后引入即可。 这里提供 weui.css 一

  • 将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例

  • 目录 简介 定义资源 主流框架的默认适配 抛出异常的方式定义资源 返回布尔值方式定义资源 注解方式定义资源 异步调用支持 规则的种类 流量控制规则 熔断降级规则 系统保护规则 访问控制规则 热点规则 查询修改规则 定制规则推送方式 其它 API 业务异常统计 Tracer 上下文工具类 ContextUtil 指标统计配置 规则生效的效果 判断限流降级异常 Dashboard 实时监控 简介 Se