您的位置:首页 > 其它

学习Libgdx游戏开发(一)

2014-12-01 13:41 197 查看

翻译者的话

libgdx游戏开发者出了一本书,名字叫做《Learning Libgdx Game Development》,本人根据其书中内容将其翻译。由于水平有限,语言组织的可能不是特别好,凑活看吧。。。

由于个人电脑已经征服了我们的世界,游戏变得越来越流行了,最终导致了价值数百万美元的企业的诞生。随着智能手机、平板设备的出现,游戏的市场出现了另一个显著的增长。特别是,对于资金有限的独立小团体开发者来说它是开源的。

对于游戏开发者来说,在手边能够有一个能够快速将思路实现并且实现经济效益的开发工具是十分必要的,Libgdx正好符合这个特点。

Libgdx,一个基于java的游戏开发框架,提供了一套统一的访问去处理它所支持的平台。Libgdx是跨平台的,它通过利用C/C++来提高关键功能的性能。

本书通过使用免费、开源的jar包Libgdx来给您带来一个完整的游戏的生命周期,以至于向您展示使用libgdx来制作一个跨平台的游戏是多么的容易。除此之外,还向您介绍了制作游戏的结构和所需要的基础。

本书向您介绍了libgdx的主要功能后,您将要学会如何容易的开发一个游戏,并且如何缩短开发周期。在十个易于追寻的章节中,你会开发出你的第一个跨平台的游戏并且随着你阅读的深入会加入越来越多的功能。

一些特殊的功能可以使你熟悉一些高级的编程技巧,比如可以提高你游戏视觉和体验的动画、物理模拟、阴影技术等等。

在本书的最后,你将会得到一个完整的2D游戏,它可以运行在windows、linux、max osx和android平台上。你也能学会所有扩展你的游戏的必须技能,去开发出你自己的跨平台游戏。

本书覆盖的内容

第一章介绍了Libgdx是什么还有工程的如何创建,介绍如何安装和配置开发环境,如何使用libgdx建立工程。然后再看一下最基本的游戏运行界面。

第二章介绍了跨平台开发,一次编译,随意部署。介绍了支持的平台有哪些,以及如何使用一个简单的demo在不同的平台上部署和运行。大致浏览一下libgdx的api,在每个模块都看上一眼。然后,介绍应用程序的周期,看一看如何在运行时调试和操纵代码。

第三章,配置游戏。通过建议一个叫做Canyon Bunny(山谷中的兔子)的工程,从本章开始,就不再使用demo进行演示了。本书的余下部分在这个工程上进行添加功能,一张一张的使用新的功能扩展它。由于Libgdx是一个框架,我们第一次必须使用UML类图建立我们的计划并且结构化我们的游戏。

第四章,收集资源。介绍了如何收集Canyon Bunny所需要的所有资源,包括图像、音频文件、登记数据等等。如何有效的加载、追踪、组织资源。最后,我们考虑如何使用等级机制,来使我们的游戏在全世界收到欢迎。

第五章,制作场景。覆盖了怎么实施游戏对象,例如山脉、岩石、云朵等等。如何使用我们第四章加入的资源。为了实现可视化的游戏场景,游戏中的场景必须有顺序的加载到游戏中,这里涉及到一个叫做level loader的概念。和其他游戏一样,需要一个用户接口来显示用户的状态,因此我们在Canyon Bunny中添加一个游戏GUI来展现用户的最高分、剩余的生命值等等。

第六章,添加演员。介绍如何添加Canyon Bunny,游戏中剩余的对象。比如玩家的角色信息等。为玩家的运动添加简单的物理效果,还有基本的碰撞检测。除此之外,还会介绍游戏逻辑的概念,它可以检测剩余的血量、游戏何时结束。

第七章,菜单和选项。介绍了如何使用按钮、复选框等控件去创建一个菜单系统,去丰富整体游戏的体验。此外,我们可以添加一个选项窗口来调整游戏的设置。

第八章,特殊效果。介绍如何利用粒子系统,如何使用插值算法来实现一些令人深刻的效果,如尘埃、光滑的相机、漂浮的岩石,背景山脉的视差滚动。使用忒别的效果会使你的游戏锦上添花。

第九章,屏幕转换。使用OPENGL的帧缓冲区来增强视频效果。这可以实现从一个场景到另一个场景之间的无缝连接。对于Canyon Bunny项目来说,我们将要创建一系列的转换效果。

第十章,管理音乐和声音效果。给你带来一系列的推荐声音生成器并且讨论他们之间的区别。然后查看libgdx的音频api,如何使用它创建一个音频管理器。我们做这些是因为项目中需要一个微风的效果。

第十一章,高级编程技术。给你介绍一些高级的编程技巧,这些技巧可以让您进入下一阶段的游戏编程。建立Box2dx api的基本知识体系,在游戏中创建一个稳定的物理模拟。通过单色图片过滤效果,实现主题的变换。最后介绍只能手机和平板电脑中的常用硬件加速器。可以通过倾斜设备来控制游戏。

第十二章,动画。介绍如何使用动画使游戏更漂亮。使用两种不同的方法使游戏菜单和游戏页面实现动画。通过一个状态机来实现每个角色基于事件进行相应。

看本书需要准备什么?

libgdx是一个跨平台的游戏框架,对于操作系统需要windows vista/7/8、Linux(例如,ubuntu)、MAX OS X (10.5+)。

此外,需要下载libgdx游戏开发工具,官网下载地址:https://code.google.com/p/libgdx/downloads/list。请下载0.9.7版本,本书将使用这个版本。

本书的集成开发环境使用的是eclipse。eclipse集成开发环境的下载地址:http://www.eclipse.org/。

若需要开发android平台的项目,至少需要android2.2以上的版本。android官网下载地址:http://developer.android.com/sdk/index.html。

适合看本书的人群?

本书适合于新接触游戏开发的人群。假设你有一些java的开发经验,你将能够看明白本书的代码。

注意事项

在本书中,你将会看到区分不同内同的不同文本样式。以下是不同样式对应的不同文本。

代码部分如下:

@Override
public void dispose() {
batch.dispose();
texture.dispose();
}重点代码部分将会用到加黑字体。
public void update (float deltaTime) {
<strong>updateMotionX(deltaTime);
updateMotionY(deltaTime);</strong>
// Move to new position
<strong>position.x += velocity.x * deltaTime;
position.y += velocity.y * deltaTime;</strong>
}新的术语或重要的单词将会加黑显示。

读者反馈

这段就不翻译了,没啥大用。原文如下:

Feedback from our readers is always welcome. Let us know what you think about

this book—what you liked or may have disliked. Reader feedback is important for

us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to feedback@packtpub.com,

and mention the book title via the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing

or contributing to a book, see our author guide on www.packtpub.com/authors.

客户支持

Now that you are the proud owner of a Packt book, we have a number of things to

help you to get the most from your purchase.

下载示例代码

这也不翻译了,下面都是一些没有用的,直接进入正题讲述libgdx的使用吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  libgdx