请选择 进入手机版 | 继续访问电脑版

0 LibGDX游戏开发框架简介

发表于 2016-08-25 18:02 显示全部楼层 26 2035

前言

2007年, 苹果公司发布了革命性的iPhone手机,从此在全世界范围内开启了智能手机时代。紧随其后,Google与Open Handset Alliance(开放手机联盟)在2008年共同发布了Android智能手机。直到今天,整个移动设备领域已经发展为由苹果公司的IOS设备和 Google公司引领的Android设备平分天下的局面。


随着智能手机和平板电脑的不断发展,视频游戏的市场已经获得了前所未有的扩大。特别是对于游戏开发商,开发移动端的视频游戏成本更小,收益更高。对于开发者来说,为移动设备开发游戏最大的难点是跨平台问题。移动操作系统IOS和Android运行的设备和系统完全独立。如果没有跨平台的解决方案,开发游戏时,必须为每个平台创建一个独立的平台相关应用。试想,这需要浪费多少人力和物力。

 

  基于上述问题,许多公司和开源社区推出了自己的跨平台开发框架,LibGDX就是其中一员。LibGDX是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成。该框架以完美的跨平台解决方案、OpenGL绘制、高效的物理引擎(Box2D)封装等优点广受开发者好评。LibGDX不但支持移动操作系统IOS和Android,还支持所有主流PC平台(如Window、Mac OS、Linux)以及HTML平台。


  著名游戏FlappyBird就是使用基于LibGDX的一款游戏引擎开发的,该游戏曾经火爆全球,下载量突破5000万次,开发者阮哈东(越南河内独立开发者)通过为该游戏集成移动广告,每日收入高达5万美元。所以本教程打算重建该游戏,一方面介绍LibGDX的基本用法,另一方面展示游戏开发的基本思路。强调一点,你大可不必担心本教程的难度有多大,只要你懂得Java的基本用法,或者看过一本Java书,或者你是小码哥Java基础班的毕业生,那么你绝对有能力看完本教程,而且可以学会使用LibGDX开发游戏。



上面视频展示的就是本教程重建的Flappy Bird游戏,由于录制帧率较低,所以看起来比较卡,但实际上非常流畅。由于Android端录制视频比较麻烦,所以这里只展示了桌面端(Windows),如果你想提前体验一下Android端的效果,这里我上传了APKFlappyBird-android.zip

   1.bmp


LibGDX简介

LibGDX官方网站


官方视频


以下内容是来自百度百科,介绍的比较详细,稍微了解以下即可:


强兼容性


  LibGDX兼容多种平台系统(Windows、Linux、Max OS X、Java Applet、Javascript/WebGL),包括移动系统Android(1.5版本+)和iOS。对于Android平台的支持在Android阵营和相关市场日益扩大的情况下LibGDX的使用者越来越多。另外,基于RoboVM可以实现iOS兼容。


  同时极强的兼容性为调试和开发提供了便利。你可以使用Android上面 同样的代码在桌面PC上面编写,测试,调试你的应用(也就是说,你可以不需要打开Android模拟器,就可以调试用Libgdx引擎写的游戏应用)。它剥离了常见的Windows之间/Linux应用程序和一个Android应用程序的区别。一般的开发过程是尽可能的在停留桌面PC上,同时周期性的检查你的当前代码是否仍然能在 Android运行。


高效性


  LibGDX主要是用Java写的,其中也掺杂了一些C/C++代码,这些代码是为了处理一些对性能要求很高的操作,比如物理引擎或者音频处理。作为用户,你只需要关注Java的封装就可以了,它已经把所有的本地代码封装好了,相比于其他Android游戏引擎,LibGDX的效率优势十分明显。


架构清晰


LibGDX的主要构成如下所示:

1.png


  LibGDX由audio、files、graphics、math、 physics、scenes、utils这些主要模块所组成,它们分别对应了LibGDX中的音频操作,文件读取,2D/3D渲染,LibGDX绘图相 关运算,Box2D封装,2D/3D游戏组件,以及LibGDX内置工具类。


它提供了便于设计游戏的清晰架构:

2.png


封装


LibGDX对于物理引擎的封装也是让人惊讶的。它足够疯狂的使用JNI封装了Box2d的C++版本,使得其运行效率比其他同级的物理引擎如JBox2d快不少。现在流行的几个包含物理引擎 Android游戏引擎(如Andengine、Rokon等),几乎都在用libgdx。如果你的游戏(特别是针对Android平台的)准备使用物理 引擎,请优先考虑LibGDX


网络


LibGDX最初大部分用于单机游戏或者弱联网游戏,不过经过不断优化,现在LibGDX提供了专门的网络模块。在Google推出实时联网虚拟现实游戏Ingress后,亦有部分国内公司推出了基于LibGDX的网游,比如《无双逐鹿》等。


UI编辑器


LibGDX现在有第三方的UI编辑器Overlap2D。


工具


LibGDX还拥有相当数量的开发工具。如Particle editor(粒子编辑器),Hiero bitmap font generator(文字生成工具),Texture packer(图片合并工具),TWL布局编辑器,Gdx-Setup-UI(项目创建工具)等,下面列出了常用的几种第三方工具。


Spine


目前最强大的2D游戏骨骼动画制作软件,没有之一。其作者也是LibGDX的核心贡献者。


spine.jpg


Overlap2D


第三方UI编辑器,该编辑器由热心的使用者编写,已开源。


overlap2d.jpg


TexturePacker


第三方纹理资源打包工具。


texturepacker.jpg


PhysicsEditor


第三方物理属性编辑器。

physicseditor.jpg

作品展示


下面列出了一些使用LibGDX开发的优秀作品。


Ingress


Google开发的一款虚拟与现实结合的手游,中文名称:浸视界、虚拟入侵。


Image05


Delver


《地牢探索者Delver》扮演Delver的角色,在一连串的冒险中尝试自己的命运,直到传说中地牢的另一端。战胜怪物,获取战利品。


ss_8528932167de6bb8063963d4636bc425e2e967ce.1920x1080


Alchemist's Awakening(Steam)


ss_b010a32e1872c80e5a5859d86b8cfac763536fd8.600x338


Gunslugs 2(Google play,AppStore,Steam)


ss_e8e363729dbab33360a385c15923aab53e0e4705.1920x1080


Halfway(Steam)


ss_7841656a7e5e3097f934a9440943fa29c55d2f08.600x338


Nubs' Adventure(Google play,AppStore,Steam)


ss_c613a4f578332d30a311d7db56bc8d6168d67e18.1920x1080


萌娘餐厅1,2(Google play,AppStore)


Image06


小小指挥官1,2(Google play,AppStore)


screen520x924


史诗塔防 - 元素(Google play,AppStore)


screen520x9241


S 士兵荣耀:现代战争(Google play,AppStore)


screen520x9242


还有很多这里就不一一列举了,另外,LibGDX官方有一个游戏画廊,上面展示的游戏都是用 LibGDX开发的。







回复 使用道具
举报
臧前

发表于 2017-02-10 05:59 显示全部楼层

回复 支持 反对 使用道具
举报
东北兰蔻

发表于 2017-02-09 22:07 显示全部楼层

回复 支持 反对 使用道具
举报
益达月饼

发表于 2017-02-09 11:51 显示全部楼层

回复 支持 反对 使用道具
举报
活泼的方小闹

发表于 2017-02-09 05:32 显示全部楼层

作为新人,在吧里不敢大声说话,也不敢得罪人,只能默默地顶完贴转身就走,不求深藏功与名,只求前排混脸熟

回复 支持 反对 使用道具
举报
liquanhai

发表于 2017-02-08 23:25 显示全部楼层

回复 支持 反对 使用道具
举报
张比亚

发表于 2017-02-08 22:16 显示全部楼层

每一个成功者都有一个开始。成功的路,始于回复。

回复 支持 反对 使用道具
举报
我爱大菠萝

发表于 2017-02-08 22:13 显示全部楼层

回复 支持 反对 使用道具
举报
东风玖哥

发表于 2017-02-08 22:12 显示全部楼层

观后纵想法再多,也不如一句回复实在!

回复 支持 反对 使用道具
举报
新水哥

发表于 2017-02-08 20:14 显示全部楼层

回复 支持 反对 使用道具
举报
123下一页

发表新文章
artzok

小码哥会员

0

学分

264

学币

436

积分

小码哥会员

Rank: 3Rank: 3

积分
436

关注小码哥教育公众号关注新浪微博小码哥一周年勋章活动达人勋章小码哥Android学员勋章真土豪勋章勋章

Ta的主页 发消息
精华帖排行榜

精彩推荐

  • 关注小码哥教育