前言
为什么要写这样的一本书
Android正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序开发中,大有席卷整个手机产业的趋势。而手机游戏在所有应用中占据着很大的比重,3D游戏正逐渐成为游戏中的主流。
面对如此火爆的Android大潮,一些有关Android的技术书籍也开始在各地书店上架。但是,纵观这些本来就为数不多的 Android书籍,却没有一本专门讲解 Android平台下利用 OpenGL ES进行3D游戏开发的案例书籍,读者如何把学习的Android知识系统地应用到实际项目中是许多读者进入实战角色前必备的技能。
本书正是在这种情况下应运而生的,作为国内第一本讲解Android平台下3D游戏开发案例的专业书籍,作者为这本书倾注了很多的心血。书中的案例涉及技术全面,涵盖了各种类型的游戏开发技巧,详细讲解了这些游戏开发时的思路和策划方案等。本书能够快速地帮助读者提高在Android平台下进行实际项目和3D游戏开发的实战能力。
内容导读
本书内容共分为 10章,涵盖了基于OpenGL ES平台开发的多种类型的3D游戏案例,详细地介绍了Android平台下3D游戏的开发流程。其中第2章~第6章为基于OpenGL ES 1.x平台开发的 3D游戏案例,第7章~第 10章为基于OpenGL ES 2.0平台开发的 3D游戏案例。全书各章主要内容安排如下。
第1章 Android平台简介及开发环境的使用
向读者介绍了Android的来龙去脉,并介绍了Android应用程序的框架,然后讲解了Android开发环境的搭建和调试。
第2章 棋牌类3D游戏——国际象棋人机对弈
本章介绍了人机对弈国际象棋游戏的开发,讲解了棋牌类游戏的开发思路,以及对弈算法的基本开发流程。本游戏最大的亮点就是采用 OpenGL ES 渲染引擎,真正模拟现实场景。棋子采用 3d Max制作,塑造的棋子逼真细腻,并且玩家可以在 3D场景中随意转动观察视角,感觉上如同身临其境一样,使玩家更能在手机中体味到无穷的乐趣。
第3章 物理引擎3D游戏——疯狂的石头
本章所介绍的游戏利用了2D的物理引擎,但是采用了OpenGL ES渲染引擎,界面精美细腻。该游戏属于闯关益智类游戏,玩法新颖独特,只要将游戏中的石头通过每关所设置的道具运送到指定位置就可取得胜利,如果在中途掉下,则游戏失败。通过本章学习,读者可以掌握物理引擎的使用。
第4章 蓝牙对战游戏——3D坦克对战
该游戏与读者常见的坦克大战有所不同,其最大的特色就是利用了蓝牙,读者可以通过蓝牙和好友的设备连接进行对战。本游戏为3D画面,场景绚丽,玩法惊险刺激,只要将对方击毁就可取得胜利。通过本章学,读者可以详细了解蓝牙对战游戏的开发思路。
第5章 竞速类游戏——快乐小球
本章所介绍的游戏属于竞速类。玩法是一个小球在一个管道内急速前进,玩家需要做的就是通过控制小球的方向或者跳跃躲避各式各样的障碍物,其中有些障碍物还可以直接撞碎,游戏中还有一些道具可以使用,如清屏炸弹、回血球等,玩家玩的时间越长分数就越高。
第6章 益智类游戏——3D推箱子
本章所介绍的游戏是3D版的推箱子。本游戏中设计的箱子有所不同,是半透明的“果冻”状态,十分精美。玩家需要做的就是,通过控制游戏人物Android机器人将“果冻”箱子推到指定位置,然后“果冻”箱子才会呈现出真正箱子的状态,只有所有箱子都推到指定位置,本关才可以通过。
第7章 物理引擎类游戏——3D抽方块
本游戏是利用物理引擎开发的一款3D游戏。游戏场景中有一组用小方块搭起来的塔,玩家需要做的就是,根据自己的判断小心地抽出塔中的小方块,而不使塔倒下,抽出的方块越多,得分就越高。如果抽取不当而使塔倒下,则游戏结束。
第8章 休闲类游戏——炫动方块
本章介绍的游戏灵感来源于 2D版的打砖块,但本游戏是通过OpenGL ES 2.0渲染的3D版炫动方块。游戏场景置身于一个管道中,画面绚丽多彩,光影效果变化丰富。玩法是通过控制管道一端的挡板,反弹小方块,将管道另一端的方块打击掉即可,如果没有接住小方块,则游戏失败。
第9章 体育竞技类游戏——3D乒乓球锦标赛
本章所介绍的游戏是人机对战版的3D乒乓球竞赛。玩家首先选择一个自己喜欢的国家队,然后通过控制一个乒乓球拍,以闯关的模式和各个国家队进行比拼,关卡越高,难道越大。游戏场景均为3D,细腻逼真,感觉如同身临其境一样,玩家能在手机中体味到无穷的乐趣。
第10章 体育竞技类游戏——3D极品桌球
本游戏是3D版本的桌球游戏。该游戏将场景置于3D场景中,包括小球的移动、碰撞,以及小球在灯光下的投影都是很真实的。本游戏可以切换第一人称视角和自由视角,还有小地图的显示,增加了游戏的可玩性。本游戏是使用OpenGL ES 2.0进行图像渲染的,场景效果更加绚丽,让玩家获得更好的游戏体验。
本书特点
1.技术新颖,贴近实战
本书涵盖了现实中所有的流行技术,如2D、3D、传感器、OpenGL ES、蓝牙、物理引擎,通过实例演示可以让读者很快地了解这些技术的使用。
2.实例丰富,讲解详细
本书既包括单机游戏的开发,也有网络对战游戏;既有通过OpenGL ES 1.x渲染的游戏,也有通过OpenGL ES 2.0渲染的游戏。游戏类型涵盖了当下流行的棋牌类、竞速类、益智类、休闲类、体育竞技类游戏。讲解深入透彻,详细到位。
3.案例经典,含金量高
本书中的案例均是精心挑选的,不同类型的案例有着其独特的开发方式。以真实的项目开发为讲解背景,包括了当下流行的游戏类型,讲解了开发时的思路,真实项目的策划方案,能够让读者全面地掌握3D手机游戏的开发,具有很高的含金量,非常适合各类读者学习。
为了帮助读者更好地利用本书提高自己的知识技能,本书附赠光盘中包含了所有案例的源程序。
本书面向的读者
· Android初学者
对于Android的初学者,可以通过本书第1章的内容巩固Android的知识,并了解项目开发流程。然后以此为踏板学习本书后面的案例,这样可以全面地掌握Android平台下3D游戏项目开发的技术与技巧。
· 有Java基础的读者
Android平台下的开发基于Java语言,所以,对于有Java基础的读者来说,阅读本书将不会感觉到困难。读者可以通过第1章的基础学习,迅速熟悉Android平台下应用程序的框架和开发流程,然后通过案例提高自己在实战项目开发方面的能力。
· 在职开发人员
本书中的案例都是作者精心挑选的,其中涉及的与项目开发相关的知识均是作者积累的经验与心得体会。具有一定开发经验的在职开发人员,可以通过本书案例进一步提高开发水平,并迅速转职成为具有Android项目开发实战经验的高手。
本书作者
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998 年开始从事Java应用的开发,有10多年的 Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技 Java培训中心首席培训师。近10年来为多家著名企业培养了上千名高级软件开发人员,曾编写过《菜鸟成长之路——Java程序员职场全攻略》、《Android 3D游戏开发技术详解与典型案例》、《Android应用案例开发大全》、《Android游戏开发大全》、《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Unity 3D游戏开发技术详解与典型案例》等多本畅销书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列优秀的Android应用程序与3D游戏。
于复兴,北京科技大学硕士,从业于计算机软件领域10年,在软件开发和计算机教学方面有着丰富的经验。工作期间曾主持科研项目“PSP 流量可视化检测系统研究与实现”,主持研发了省市级项目多项,同时为多家单位设计开发了管理信息系统,并在各种科技刊物上发表多篇相关论文。2008年开始关注Android平台下的应用开发,参与开发了多款手机3D游戏应用。
杜化美,西安电子科技大学硕士,有多年的 Java 程序开发与培训经验。曾参与两项国家自然科学基金项目,在国内外刊物上发表论文10余篇。同时兼任嵌入式独立软件工程师,在软件领域有8年的从业经验,最近3年致力于Android嵌入式系统的研究。
本书在编写过程中得到了唐山百纳科技有限公司 Java 培训中心的大力支持,同时仇磊、郭小月、李雪晴、宋盼盼、郑培阳、陈伟、章雅卓、付鹏、白冰、刘文洲、张鑫、郑小林、王海宁、王海峰以及作者的家人为本书的编写提供了很多帮助,在此表示衷心的感谢!
由于笔者的水平和学识有限,且书中涉及的知识较多,难免有错误疏漏之处,敬请广大读者批评指正,并多提宝贵意见,反馈邮箱javase6_guide@qq.com。编辑联系邮箱为zhangtao@ptpress.com.cn。
编者