描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121193255丛书名: 高等院校3G人才培养规划教材
本书主要介绍了游戏最基本的理论内容,包括图层、矩阵、多线程以及游戏素材,在介绍理论的同时也给出了相关的代码;以及具体Android游戏的开发流程和代码分析,介绍了两款游戏的编写方法:一款是大家耳熟能详的捕鱼游戏,另一款是一个新开发的动作类游戏——末日游戏。
本书是大学院校嵌入式技术专业、电子信息类专业的课程教材,也可供中、高等职业技术院校使用。
第1章 初识Android的游戏世界
1.1 主流手机游戏开发平台
1.1.1 Java ME
1.1.2 Symbian OS
1.1.3 Windows Mobile
1.1.4 Android
1.2 手机游戏概述
1.2.1 智能手机系统
1.2.2 手机游戏的发展与繁荣
1.2.3 手机游戏类型
1.2.4 手机游戏特点
1.3 掀开Android的面纱
1.3.1 选择Android的理由
1.3.2 Android的应用程序框架
1.3.3 Android应用程序组件
1.4 Android 开发环境的安装与配置
1.4.1 安装JDK和配置Java开发环境
1.4.2 Eclipse的安装
1.4.3 SDK和ADT的安装和配置
1.5 第一个Android应用
1.5.1 创建第一个Android应用
1.5.2 在模拟器上运行程序
1.5.3 在手机上运行程序
1.6 本章小结
第2章 图层
2.1 图层结构
2.1.1 图层的组成元素
2.1.2 图层的组织
2.2 图层调用
2.2.1 界面的视图——SurfaceView类
2.2.2 创建MainSurface
2.2.3 绘制MainSurface
2.3 图层示例
2.4 本章小结
第3章 游戏中的多线程
3.1 多线程的使用
3.1.1 游戏逻辑的实现
3.1.2 创建多个线程
3.2 多线程的注意事项
3.2.1 同步问题
3.2.2 数据安全问题——线程锁
3.3 本章小结
第4章 游戏素材
4.1 素材的标准
4.1.1 图片素材的标准
4.1.2 音乐素材的标准
4.2 图片素材的裁剪
4.2.1 裁剪原理
4.2.2 裁剪实现
4.3 让素材动起来
4.4 本章小结
第5章 矩阵
5.1 数学中的矩阵
5.1.1 矩阵相加及相减
5.1.2 乘法
5.1.3 单位矩阵
5.1.4 逆矩阵
5.1.5 转置矩阵
5.2 Android矩阵应用
5.2.1 Matrix基本操作
5.2.2 Matrix应用
5.3 本章小结
第6章 OpenGL ES 2.0入门教程
6.1 Android系统下OpenGL ES 2.0学习的先决条件
6.2 OpenGL ES 2.0简介
6.3 Android系统下OpenGL ES 2.0学习入门
6.3.1 可视化3D世界
6.3.2 了解缓冲区
6.3.3 了解矩阵的用法
6.3.4 定义顶点和片段渲染器
6.3.5 加载渲染器到OpenGL中
6.3.6 把顶点和片段渲染器链接到一个程序
6.3.7 设置视角投影
6.3.8 在屏幕上绘制
6.4 标准漫射照明
6.4.1 什么是光
6.4.2 不同类型的光
6.4.3 模拟光
6.5 在每像素基础上应用相同照明技术
6.5.1 什么是每像素照明
6.5.2 从每个顶点移动到每个片段照明
6.5.3 每像素照明的概观
6.6 如何添加纹理
6.6.1 纹理的基本知识
6.6.2 纹理坐标
6.6.3 纹理映射的基本知识
6.6.4 顶点渲染器
6.6.5 片段渲染器
6.6.6 从图像文件中载入纹理
6.6.7 在场景中应用纹理
6.7 本章小结
第7章 游戏开发实例“小鱼快跑”
7.1 游戏策划
7.2 游戏资源
7.3 游戏开发
7.3.1 游戏框架设计
7.3.2 背景设计
7.3.3 精灵设计
7.3.4 游戏特效
7.3.5 游戏音效
7.4 本章小结
第8章 末日游戏一
8.1 游戏开发动机
8.2 游戏创意
8.3 设立项目
8.4 游戏的基本架构
8.4.1 Android手机上的游戏架构
8.4.2 用户输入
8.4.3 游戏逻辑
8.5 基本的游戏循环
8.6 显示图像
8.7 移动图像 Moving Images on the Screen withAndroid
8.8 游戏循环
8.9 测量的FPS Measuring FPS
8.10 本章小结
第9章 末日游戏二
9.1 精灵动画
9.2 粒子爆炸
9.3 游戏实体——策略模式
9.4 位图字体
9.5 设计游戏中的实体、对象的组合策略
9.6 Android 3D编程——透视投影
9.7 在游戏中使用MVC模式
9.8 本章小结
第10章 项目介绍与需求规格说明
10.1 项目描述
10.2 项目目标
10.3 项目特点
10.4 项目的目标受众
10.5 项目的团队介绍
10.6 团队成员角色
10.7 项目开发的过程模型
10.8 需求规格说明
10.8.1 游戏描述
10.8.2 功能需求
10.9 本章小结
第11章 项目设计阶段
11.1 开始应用程序
11.2 开始游戏
11.3 游戏循环
11.4 更新世界
11.5 场景图
11.6 绘制世界
11.7 HUD
11.7.1 移动
11.7.2 动作
11.7.3 生命条和法力条
11.8 玩家动画
11.9 施加法术
11.10 碰撞处理
11.11 加载世界和游戏对象
11.12 玩家旋转
11.13 法力再生
11.14 客户端连接
11.15 游戏服务器
11.16 优化
11.16.1 内存分配
11.16.2 线程
11.17 动作系统
11.18 更新管理器与事件处理器/进程管理器
11.19 游戏服务器
11.20 客户端网络
11.21 输入
11.21.1 移动
11.21.2 手势/动作
11.22 绘制
11.23 游戏循环
11.24 碰撞
11.25 本章小结
第12章 实现和测试
12.1 命名规则
12.2 原始代码结构
12.3 单件设计模式
12.4 NO.HIG.RAG.UpdateManager
12.5 NO.HIG.RAG.Controllers
12.5.1 控制器
12.5.2 TranslateController
12.5.3 RotateController
12.5.4 AnimationController
12.5.5 动作控制器
12.5.6 REGENCONTROLLER状态控制器
12.6 NO.HIG.RAG.ACTIONS
12.6.1 动作
12.6.2 SpellDefault
12.7 NO.HIG.RAG.GUI
12.7.1 手势
12.7.2 移动
12.8 NO.HIG.RAG.NETWORK
12.8.1 网络发送者
12.8.2 网络接收者
12.8.3 结合
12.9 NO.HIG.RAG.COLLISION
12.9.1 CollisionManager
12.9.2 单元
12.10 NO.HIG.RAG.HUMAN
12.10.1 Human
12.10.2 Player
12.10.3 NetworkPlayer
12.11 NO.HIG.RAG.SCENEGRAPH
12.11.1 SCENEGRAPH
12.11.2 Node
12.11.3 TranslateNode
12.11.4 RotateNode
12.11.5 GeometryNode
12.11.6 TextureNode
12.11.7 GroupNode
12.11.8 SwitchNode
12.11.9 节点初始化
12.11.10 序列化
12.12 NO.HIG.RAG.DATASTRUCTURES
12.13 工具
12.13.1 分析游戏对象和创建场景图形文件
12.13.2 要点
12.13.3 BuildInitialSceneGraph
12.13.4 COLLADAPARSE
12.13.5 GAMEOBJECT
12.14 服务器
12.14.1 通信
12.14.2 组件
12.14.3 数据库表
12.15 测试的方法与战略
12.15.1 测试战略
12.15.2 测试的工具/方法
12.15.3 游戏服务
12.16 成果的讨论
12.16.1 成果
12.16.2 讨论
12.17 角色
12.18 工作方法Scrum
12.19 游戏完成后的总结
12.19.1 独立开发还是使用中间件
12.19.2 合并系统
12.19.3 关于OpenGL / Android 的问题
12.19.4 动作系统
12.19.5 Collada与.obj
12.20 本章小结
第13章 项目相关文档与项目计划
13.1 项目会议日记
13.2 工作日志
13.3 状态报告
13.4 Scrum会议
13.5 日常Scrum
13.6 首要技术描述
13.7 项目目标和边界
13.7.1 背景
13.7.2 目标
13.7.3 边界
13.8 项目范围
13.8.1 项目描述
13.8.2 范围
13.9 项目组织
13.9.1 雇主和咨询师
13.9.2 职责和角色
13.10 团队规定和例程
13.10.1 团队规定
13.10.2 例程
13.11 资源
13.12 计划、会议和报告
13.12.1 系统开发模型
13.12.2 会议
13.12.3 状态报告
13.13 质量保证
13.13.1 测试
13.13.2 代码会议
13.14 甘特图
13.15 本章小结
Android一词英文本义指“机器人”,是由Google公司于2007年11月正式对外发布的,作为一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。依靠Google的强大开发和媒体资源,凭借其开放性和优异性,Android平台在发展的过程中得到了包括大手机厂商和著名移动运营商在内的业界的广泛支持,除手机的应用之外,目前已逐渐扩展到平板电脑及其他领域。2011年第一季度,Android在全球的市场份额首次超过Symbian系统,跃居全球第一。据2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。与此同时,随着行业的迅猛发展,Android研发工程师更是日益成为IT职场的紧缺人才。近几年来,各大学、院校已经纷纷开设Android移动开发专业或方向。但是,各院校在Android专业教学建设的过程中几乎都面临教材难觅、内容更新迟缓的困境。虽然目前市场上的Android开发相关书籍比较多,但几乎都是针对有一定基础的业内研发人员编写的,并不完全符合高校的教学要求。高校教学需要一套充分考虑学生现有知识基础和接受度的,明确各门课程教学目标的,便于学校安排课时的Android专业系列教材。
针对高校专业教材缺乏的现状,我们以多年来在嵌入式工程技术领域及移动开发行业内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对Android研发相关岗位的真实需求,并结合行业应用技术的最新状况及未来发展趋势,调研了开设Android专业的高等院校的课程设置情况、学生特点和教学用书现状。我们通过细致的整理和分析,对专业技能和基本知识进行了合理划分,编写了这套高等院校Android开发人才培养规划教材,包括以下4本:
《Android系统下Java编程详解》;
《Android应用程序开发与典型案例》;
《Android游戏开发案例与关键技术》;
《Android系统移植与驱动开发技术》。
本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。考虑到Android研发领域对学生Java语言能力要求较高,专门有针对性地编写了《Android系统下Java编程详解》这本教材,可作为“Java语言基础”课程的后续提高课程使用;《Android应用程序开发与典型案例》则结合Android应用开发的核心知识,重点突出了贯穿前面所学知识的实训案例及内容,供“Android应用程序开发”课程使用;在Android游戏开发方面,根据各院校的教学重点和行业实际应用情况,量身定制地编写了《Android游戏开发案例与关键技术》;《Android系统移植与驱动开发技术》侧重介绍Android底层移植和驱动技术。
本书作为本套教材之一,重点讲解了Android游戏开发的核心技术和典型应用。移动设备上的游戏相较于PC游戏或者游戏控制台,最突出的优势就是便携性,就比如为什么当初GameBoy比其他控制台游戏卖得多,原因之一就是便携性,人们可以随时随地玩他们选择的游戏。其实与电脑游戏相比,手机可能不是一个好的游戏设备,但是人们可以时刻把它们带在身边。在任何地方、任何空闲的时间里来享受游戏带给他们的快乐。本书将结合丰富的实例重点讲解Android游戏开发的相关经验和技巧。本书内容注重实用,使学生达到学用结合的目的。
本书共13章,主要介绍了游戏最基本的理论内容,包括图层、矩阵、多线程以及游戏素材,并在介绍理论的同时也给出了相关的实现代码;此外,还具体介绍了两款游戏的完整开发流程和示范代码分析。
本书由郑萌主编并统校全稿,参与本书编写的人员有谢培良、崔浩、周志强、李宗亮、李珊珊、吴现凯、高良伟、王泽政、蒋铎、袁升、付世全、赵健乔、赵晶晶、范爱伟。本书的完成需要感谢华清远见嵌入式学院及华清远见3G学院,教材内容参考了学院与嵌入式及移动开发企业需求无缝对接的、科学的专业人才培养体系。对教材的编写工作做出了贡献的刘辰、李倩等人在书稿的编写过程中认真阅读了所有章节,在后期审校工作中提供了很多帮助,在此表示衷心的感谢。
由于作者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于本书的批评和建议,可以发到网站的技术论坛中。
编 著 者
评论
还没有评论。