随着PC的普及,电子游戏变得越来越受欢迎并给大型游戏开发商带来了数百万美元的交易。通过引入移动设备(手机,平板等),游戏市场的范围得到了一个巨大的提升,值得一提的是,它现在已经向独立游戏开发者和小团队开放。
对于开发者而言,拥有一套高效率、低成本的开发工具去实现一些好的idea至关重要,libGDX正式为此而生的。libGDX,作为一个基于Java的游戏开发框架,提供了一个统一的访问层来处理所有被支持的平台,libGDX还使用C/C++实现跨平台支持,以提高应用程序关键任务(如图形渲染,音频处理等)的性能。
本书将会通过一个完整的游戏开发周期向你展示使用免费且开源的库——LibGDX开发一款跨平台应用是多么的轻松,此外,你还会学到关于常见游戏的结构和相关需求
你将会涉及到libGDX的主要特性,并学会如何轻松的开发一款游戏和加快你的开发周期,通过十多个章节,你将开发出你的第一个libGDX跨平台游戏并添加越来越多的游戏功能作为进一步拓展。
一些特殊的功能将会让你了解高级编程技术,例如动画,物理模拟,着色器程序,这将提高你的游戏的可玩性和视觉效果
在结束本书的学习后,你将拥有一个完整的2D游戏,并能够在Windows, Linux,,Mac OS X,和支持WebGL的浏览器,Android,iOS上运行。你也将拥有继续拓展该游戏的功能或开发属于你自己的跨平台游戏所需的技能。
本书所覆盖的内容
第一章,libGDX简介和项目创建,包括如何安装和配置开发环境,并向你介绍libGDX自带的项目创建工具,此外,我们将分析整个游戏项目并罗列出功能需求
第二章,跨平台开发——一次创建到处部署,通过一个demo向你展示其所支持的目标平台和如何在这些平台上部署并运行。libGDX的API的第一次概述,我们将浏览其各个模块的功能和特点,此外,将会向你简介libGDX的生命周期并学习如何在运行时期调试和修改我们的代码
第三章,游戏雏形,我们将从一个demo应用过渡到一个名为Canyon Bunny的真正的游戏项目,并在之后的每一个章节对其进行功能上的拓展。由于LibGDX是一个框架,所以我们首先要使用UML类图建立整体架构去构造一个游戏引擎
第四章,整合资源文件,描述了如何整合所有Canyon Bunny所需的资源文件,包括图片,音频文件,地图数据等。你将会学到如何有效地对资源进行加载,跟踪,组织。最后,我们将讨论如何去处理地图数据以便我们能够在游戏世界中安置各个游戏对象。
第五章,制作游戏场景,本章将会实现各个游戏对象例如岩石,山脉,云彩,我们将使用一个地图加载器让各个对象开始活动,我们还将在游戏场景添加一个GUI(图形用户界面),去展示玩家的得分,剩余生命数量和FPS(帧率,用于测试游戏的性能)。
第六章,添加Actors,描述了如何给Canyon Bunny添加剩余的游戏对象,包括游戏主角,可以被收集的物品(金币和羽毛),我们还将为游戏主角添加简单的物理运动效果和碰撞检测,此外,游戏的逻辑将被拓展以让它能够检测到“生命数量减少”和“游戏结束”
第七章,菜单和设置,描述了如何通过widgets(按钮,标签,多选框等控件)创建一个菜单系统以丰富游戏体验,此外,我们将添加一个设置窗口,玩家可通过它对游戏进行设置。
第八章,特效,包含如何使用粒子系统和如何使用插值算法去创建一些很炫的特效,例如尘土飞扬效果,一个平滑的运动(相机跟随,岩石浮动,背景里视差滚动的山脉),使用特效能让你的游戏画面会变得更加栩栩如生。
第九章,屏幕转场,我们将使用OpenGL的帧缓冲对象进行离屏渲染到显存以增强视觉效果,这将允许我们从当前屏幕跳转到另外一个屏幕的时候做到无缝转场,以提高用户体验,我们将为Canyon Bunny创建各种各样的转场特效。
第十章,管理音乐和音效,将会向你介绍几个音效生成器并讨论它们的不同,此外,我们将了解一下libGDX的Audio模块的API并演示如何通过它创建一个音频管理器,以满足我们所有播放音频的需求。
第十一章,高级编程技术,将向你介绍一些高级的游戏编程技术,这将会大幅度提高你的游戏编程水平。我们将学习关于Box2D API的一些基础知识,它能够帮助我们在游戏中创建一个可靠的物理模拟环境,此外,我们将通过一个单色图像过滤效果的例子讨论着色器编程,最后,我们将学习如何使用加速度感应器(通常是在手机和平板等移动设备上),它能让我们通过倾斜设备的方式去控制游戏。
第十二章,动画,讲述如何通过添加动画使游戏变得更加炫酷,在本章,我们将通过两种不同的方式为游戏菜单和游戏世界添加动画,最后,我们将为游戏主角实现一个基于动画事件的状态机,
第十三章,3D编程基础,介绍了libGDX新的3D API,你将学习如何使用3D API去创建基础模型,例如球体,立方体,圆柱体等,和导入从建模软件(如Blender)输出的模型。你也会学到关于 ray picking(拾取射线)的知识,一个用于开发第一人称射击游戏非常重要的概念。
第十四章, Bullet物理引擎,通过Bullet带你了解3D物理的基础,最后,我们将使用Bullet创建一个简单的物理模拟应用。
你需要做哪些准备
• libGDX是一个跨平台的游戏开发框架,对于开发,你需要一台运行Windows (Vista/7/8/10),Linux (如Ubuntu), 或Mac OS X (10.9+)中任意一种操作系统的计算机。
• 此外,你需要下载libGDX框架,你可以从libGDX官网下载最新版本的libGDX(本书使用的是1.2.0版本)
• 本书使用的编码环境为Eclipse
• 发布游戏到Android平台,你需要有用一部运行Android2.2或以上并支持OpenGL ES 2.0的Android设备,并下载配置好Android SDK
• 发布游戏到iOS平台,你需要拥有一台运行Mac OS X (10.9+)的计算机
适合阅读本书的人群
本书适合游戏开发初学者(尤其是学习LibGDX),你必须拥有一定的Java基础以确保你能读懂本书相应的代码
【完】
【译者注】博主在学习本书使用的libGDX版本为1.9.2,与老版本比较有个别API已改变,若读者在学习过程中遇到什么问题可以给我留言或对照本人已完成的项目进行纠错,也希望大家把正确的方法留言到对应的文章下边以便帮助更多人学习!谢谢!
暂无关于此日志的评论。