Android游戏开发大全

Android游戏开发大全

吴亚峰, 苏亚光, 编著

出版社:人民邮电出版社

年代:2011

定价:88.0

书籍简介:

本书以Android手机游戏的开发为主题,结合真实的游戏案例向读者详细介绍了Android平台下游戏开发的整个流程,同时在游戏开发的介绍过程中还分享了笔者多年积累的开发技巧与经验。

书籍目录:

第一篇 Android游戏开发核心技术

第1章 Android平台简介

1.1 Android的来龙去脉

1.2 掀起Android的盖头来

1.2.1 选择Android的理由

1.2.2 Android的应用程序框架

1.3 Android开发环境的搭建

1.3.1 SDK的下载及安装

1.3.2 Eclipse集成开发环境的搭建

1.3.3 虚拟设备的创建与模拟器的运行

1.3.4 第一个Android程序

1.3.5 Android程序的监控与调试

1.4 小结

第2章 Android游戏开发之前台渲染

2.1 创建Android用户界面

2.1.1 布局管理

2.1.2 常用控件及其事件处理

2.2 图形与动画在Android中的实现

2.2.1 简单图形的绘制

2.2.2 贴图的艺术

2.2.3 自定义动画的播放

2.3 Android平台下的多媒体开发

2.3.1 音频的播放

2.3.2 视频的播放

2.3.3 Camera图像采集

2.4 小结

第3章 Android游戏开发之交互式通信

3.1 Android应用程序的基本组件

3.1.1 Activity组件

3.1.2 Service组件

3.1.3 Broadcast Receiver组件

3.1.4 Content Provider组件

3.1.5 AndroidManifest.xml文件简介

3.2 应用程序的内部通信

3.2.1 消息的处理者——Handler类简介

3.2.2 使用Handler进行内部通信

3.3 应用程序组件之间的通信

3.3.1 Intent类简介

3.3.2 应用程序组件——IntentFilter类简介

3.3.3 示例1:与Android系统组件通信

3.3.4 示例2:应用程序组件间通信示例Activity部分的开发

3.3.5 示例3:应用程序组件间通信示例Service部分的开发

3.4 小结

第4章 Android游戏开发之数据存储和传感器

4.1 在Android平台上实现数据存储

4.1.1 私有文件夹文件的写入与读取

4.1.2 读取Resources和Assets中的文件

4.1.3 轻量级数据库SQLite简介

4.1.4 SQLite的使用示例

4.1.5 数据共享者——Content Provider的使用

4.1.6 简单的数据存储——Preferences的使用

4.2 Android平台下传感器应用的开发

4.2.1 传感器应用开发流程

4.2.2 常用传感器简介

4.2.3 传感器应用开发示例

4.2.4 使用SensorSimulator模拟传感器变化

4.2.5 使用新版本的API开发传感器应用

4.3 小结

第5章 Android游戏开发之网络编程

5.1 基于Socket套接字的网络编程

5.2 基于HTTP协议的网络编程

5.2.1 通过URL获取网络资源

5.2.2 在Android中解析XML

5.3 Android平台下的Google Map

5.3.1 定位类GenPoint与显示地图类MapView的搭配使用

5.3.2 位置监听器——LocationListener的使用

5.4 其他网络通信方式

5.4.1 使用WiFi进行开发

5.4.2 借助于蓝牙(Bluetooth)技术进行开发

5.5 小结

第6章 不一样的游戏,一样的精彩

6.1 射击类游戏

6.1.1 游戏玩法

6.1.2 视觉效果

6.1.3 游戏内容设计

6.2 竞速类游戏

6.2.1 游戏玩法

6.2.2 视觉效果

6.2.3 游戏内容设计

6.3 益智类游戏

6.3.1 游戏玩法

6.3.2 视觉效果

6.3.3 游戏内容设计

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.7 策略游戏

6.7.1 游戏玩法

6.7.2 视觉效果

6.7.3 游戏内容设计

6.8 养成类游戏

6.8.1 游戏玩法

6.8.2 视觉效果

6.8.3 游戏内容设计

6.9 经营类游戏

6.9.1 游戏玩法

6.9.2 视觉效果

6.9.3 游戏内容设计

6.10 体育类游戏

6.10.1 游戏玩法

6.10.2 视觉效果

6.10.3 游戏内容设计

6.11 小结

第7章 游戏背后的数学与物理

7.1 编程中经常用到的数理知识

7.1.1 数学方面

7.1.2 物理方面

7.2 物理小球在游戏中的应用

7.2.1 开发运动体Movable类的代码

7.2.2 开发物理引擎BallThread类的代码

7.2.3 视图类——开发BallView类的代码

7.2.4 绘制线程——开发DrawThread类的代码

7.2.5 开发Activity部分的代码

7.3 粒子系统

7.3.1 粒子对象类——开发粒子对象Particle类和粒子集合ParticleSet类

7.3.2 开发焰火粒子系统的物理引擎ParticleThread类的代码

7.3.3 视图类——开发视图类ParticleView及其相关类

7.3.4 开发程序Activity部分的代码

7.3.5 将焰火粒子系统改为瀑布粒子系统

7.4 碰撞检测技术

7.4.1 碰撞检测技术基础

7.4.2 游戏中实体对象之间的碰撞检测

7.4.3 游戏实体对象与环境之间的碰撞检测

7.5 小结

第8章 游戏中的人工智能

8.1 让怪物聪明起来——Android中的路径搜索

8.1.1 路径搜索示例基本框架的搭建

8.1.2 路径搜索示例的控制面板实现

8.1.3 路径搜索示例GameView的实现

8.1.4 深度优先路径搜索DFS

8.1.5 广度优先路径搜索BFS

8.1.6 路径搜索算法——Dijkstra

8.1.7 用A*算法优化搜索

8.2 有限状态机

8.2.1 何为有限状态机

8.2.2 有限状态机的简单实现

8.2.3 有限状态机的OO实现

8.3 小结

第9章 游戏开发小秘技

9.1 地图编辑器与关卡设计

9.1.1 关卡地图的重要性

9.1.2 图片分割界面的实现

9.1.3 地图设计界面的实现

9.2 游戏中的模糊逻辑

9.2.1 模糊的才是真实的

9.2.2 如何在Android中将游戏模糊化

9.3 游戏的基本优化技巧

9.3.1 代码上的小艺术

9.3.2 Android中的查找表技术

9.3.3 游戏的感觉和性能问题

9.4 小结

第10章 游戏的心脏——物理引擎

10.1 物理引擎很重要

10.1.1 什么是物理引擎

10.1.2 常见的物理引擎

10.2 2D的王者JBox2D

10.2.1 基本的物理学概念

10.2.2 JBox2D中常用类的介绍

10.3 球体撞击木块金字塔案例

10.3.1 案例运行效果

10.3.2 案例的基本框架结构

10.3.3 常量类——Constant

10.3.4 抽象类——MyBody

10.3.5 圆形刚体类——MyCircleColor

10.3.6 生成刚体形状的工具类——Box2DUtil

10.3.7 颜色工具类——ColorUtil

10.3.8 主控制类——MyBox2dActivity

10.3.9 显示界面类——GameView

10.3.10 绘制线程类——DrawThread

10.4 简易打砖块案例

10.4.1 一般碰撞版

10.4.2 碰撞后消失版

10.5 旋转关节跷跷板案例

10.5.1 旋转关节介绍

10.5.2 多边形刚体类MyPolygonColor的开发

10.5.3 生成刚体形状的工具类——Box2DUtil

10.5.4 将场景中的刚体摆放到位

10.5.5 增加旋转关节

10.6 旋转关节链条摆案例

10.6.1 案例运行效果

10.6.2 案例的机械结构

10.6.3 主控制类——MyBox2dActivity

10.7 组合机械结构案例

10.7.1 案例的运行效果

10.7.2 整体场景的机械结构

10.7.3 案例的基本框架结构

10.7.4 圆形刚体类——MyCircleColor

10.7.5 生成刚体形状的工具类——Box2DUtil

10.7.6 主控制类——MyBox2dActivity

10.7.7 游戏界面类——GameView

10.7.8 绘制线程类——DrawThread

10.8 小结

第11章 OpenGL ES应用开发基础

11.1 OpenGL ES概述及3D基本图形绘制

11.1.1 OpenGL及OpenGL ES简介

11.1.2 3D基本知识

11.1.3 使用索引的不同绘制方式

11.1.4 用索引法绘制三角形的案例

11.1.5 不使用索引数据绘制

11.2 正交投影和透视投影

11.2.1 正交投影

11.2.2 透视投影

11.2.3 两种投影方式的原理及视口

11.2.4 两种投影方式的案例

11.3 光照与材质

11.3.1 光照的3种组成元素

11.3.2 定向光与定位光

11.3.3 法向量

11.3.4 材质

11.3.5 两种光源的案例

11.4 纹理及纹理映射

11.4.1 纹理映射基本原理

11.4.2 使用纹理映射的案例

11.4.3 几种纹理拉伸方式

11.4.4 几种纹理过滤方式

11.5 摄像机和雾特效

11.5.1 摄像机的设置

11.5.2 设置合理的视角

11.5.3 雾特效的开发

11.6 典型几何体的开发

11.6.1 圆柱

11.6.2 圆锥

11.6.3 球

11.6.4 椭圆体

11.6.5 胶囊体

11.6.6 几何体大集合

11.7 小结

第二篇 Android游戏开发实战综合案例

第12章 滚屏动作游戏——太空保卫战

12.1 游戏的背景及功能概述

12.1.1 背景概述

12.1.2 功能简介

12.2 游戏的策划及准备工作

12.2.1 游戏的策划

12.2.2 Android平台下游戏的准备工作

12.3 游戏的架构

12.3.1 各个类的简要介绍

12.3.2 游戏的框架简介

12.4 辅助界面相关类的实现

12.4.1 主控制类——PlaneActivity的实现

12.4.2 欢迎界面WelcomeView类

12.4.3 其他辅助界面的介绍

12.5 游戏界面的框架设计

12.6 游戏实体相关类的实现

12.6.1 飞机Plane类的实现

12.6.2 敌方飞机EnemyPlane类的实现

12.6.3 子弹Bullet类的实现

12.6.4 其他相关类的实现

12.7 游戏界面的完善

12.7.1 地图类Maps的实现

12.7.2 背景滚动类GameViewBack GroundThread的实现

12.7.3 物体移动线程MoveThread的实现

12.7.4 键盘监听线程KeyThread的实现

12.7.5 图片初始化方法initBitmap的实现

12.7.6 绘制方法onDraw的实现

12.8 游戏的优化与改进

第13章 棋牌游戏——中国象棋人机对弈

13.1 游戏的背景及功能概述

13.1.1 背景概述

13.1.2 功能介绍

13.2 游戏的策划及准备工作

13.2.1 游戏的策划

13.2.2 Android平台下游戏的准备工作

13.3 游戏的架构

13.3.1 各个类简要介绍

13.3.2 游戏框架简介

13.4 主控制类——Chess_DJB_Activity

13.5 辅助界面相关类

13.6 游戏界面相关类

13.6.1 游戏界面绘制类GameView

13.6.2 游戏界面常量类ViewConstant

13.7 走法引擎相关类

13.7.1 常量类Constant

13.7.2 工具类Chess_LoadUtil

13.7.3 走法引擎主类LoadUtil

13.7.4 走法的排序规则类MyComparator

13.7.5 记录走棋步骤类StackplayChess

13.8 游戏的优化与改进

第14章 物理传感器游戏——小球快跑(3D版)

14.1 游戏背景及功能概述

14.1.1 背景概述

14.1.2 功能简介

14.2 游戏的策划及准备工作

14.2.1 游戏的策划

14.2.2 小球快跑游戏开发的准备工作

14.3 游戏的架构

14.3.1 游戏的总体架构

14.3.2 游戏的类结构

14.4 主控制类——DriftBall类的开发

14.4.1 DriftBall类的代码框架

14.4.2 DriftBall类的主要成员方法的实现

14.5 游戏主菜单的开发

14.5.1 欢迎界面类——Welcome View类的代码框架

14.5.2 WelcomeView类主要成员方法

14.5.3 WelcomeThread类的开发

14.5.4 菜单界面的用户交互事件处理

14.6 游戏界面模块的开发

14.6.1 游戏界面类——GameView的成员变量

14.6.2 GameView的成员方法简介

14.6.3 游戏界面绘制线程——GameThread类的代码框架

14.6.4 GameMenuThread类的开发

14.6.5 用户交互事件处理

14.7 游戏中各个图层的开发

14.7.1 地图图层的开发

14.7.2 其他图层的开发与实现

14.8 游戏后台逻辑的开发

14.8.1 小球的运动控制

14.8.2 小球的碰撞检测

14.8.3 大炮相关类Cannon和Missile的开发

14.9 传感器计算模块的开发

14.9.1 手机姿态变化监听器——BallListener类的开发

14.9.2 工具类——RotateUtil类的代码框架

14.9.3 工具类——RotateUtil类的开发

14.10 游戏的优化与改进

第15章 塔防游戏——精灵塔防

15.1 游戏的背景及功能概述

15.1.1 背景概述

15.1.2 功能介绍

15.2 游戏的策划及准备工作

15.2.1 游戏的策划

15.2.2 Android平台下游戏开发的准备工作

15.3 游戏的架构

15.3.1 各个类的简要介绍

15.3.2 游戏框架简介

15.4 主控制类TafangGameActivity和数据库类DBUtil

15.4.1 主控制类——TafangGame Activity主要框架

15.4.2 主控制类——TafangGame Activity中部分数据库的实现

15.4.3 主控制类——TafangGame Activity中对话框的开发

15.4.4 数据库类DBUtil的开发

11.5 界面相关类

15.5.1 欢迎界面WelcomeView类的介绍

15.5.2 主界面MainMenuSurfaceView类的介绍

15.5.3 音效设置界面MusicSurfaceView类的介绍

15.5.4 游戏结束界面GameOverView类和帮助界面HelpView类的介绍

15.5.5 积分榜界面HighJifenSurfaceView类的介绍

15.6 游戏界面GameView及相关类

15.6.1 精灵怪物Target类

15.6.2 箭塔SingleJianta类

15.6.3 箭Shell类

15.6.4 精灵怪物的出击现场——TargetNumThread

15.6.5 箭塔控制发射线程——ShellNumThread

15.6.6 游戏地图矩阵模拟化

15.6.7 摆放箭塔守护城池

15.6.8 游戏中的2.5D效果

15.6.9 弹指间怪物灰飞烟灭——游戏水晶

15.7 游戏的优化和改进

第16章 策略游戏——回到战国

16.1 游戏的背景及功能概述

16.1.1 背景概述

16.1.2 功能简介

16.2 游戏的策划及准备工作

16.2.1 游戏的策划

16.2.2 Android平台下游戏的准备工作

16.3 游戏的架构

16.3.1 游戏的模块架构

16.3.2 游戏各个类的简要介绍

16.4 地图设计器的开发

16.4.1 底层地图设计器的开发

16.4.2 上层地图设计器的开发

16.5 Activity和游戏工具类的开发

16.5.1 主控制类——HDZGActivity的介绍

16.5.2 公式封装类——GameFormula的介绍

16.5.3 常量工具类ConstantUtil的介绍

16.6 数据存取模块的开发

16.6.1 城池信息以及地图层信息的封装类

16.6.2 数据存取相关类的介绍

16.7 英雄角色模块的开发

16.7.1 Hero类的代码框架

16.7.2 英雄运动线程——HeroGo Thread类的开发

16.7.3 辅助线程——HeroBackData Thread类的开发

16.8 表示层界面模块的开发

16.8.1 滚屏类——ScreenRollView类的开发

16.8.2 滚屏线程——ScreenRoll Thread的开发

16.8.3 游戏界面GameView的框架介绍

16.8.4 游戏界面绘制方法onDraw的介绍

16.8.5 游戏界面屏幕监听方法onTouch的介绍

16.8.6 游戏界面后台线程Game ViewThread的介绍

16.9 管理面板模块的开发

16.9.1 人物属性面板类ManPanel View的开发

16.9.2 城池管理面板类CityManage View的开发

16.10 地图中可遇实体模块的开发

16.10.1 绘制类——MyDrawable的开发

16.10.2 抽象类——MyMeetableDrawable的开发

16.10.3 森林类——ForestDrawable的开发

16.10.4 可遇实体对象的调用流程

16.11 英雄技能模块的开发

16.11.1 技能抽象类——Skill的开发

16.11.2 伐木技能类——Lumber Skill的开发

16.11.3 随心步技能类——SuiXinBuSkill的开发

16.12 游戏提示模块的开发

16.12.1 提示模块抽象类——GameAlert的开发

16.12.2 点击确定按钮显示的信息类——PlainAlert的开发

16.12.3 显示粮草危机信息类——FoodAlert的开发

16.12.4 辅助线程HeroBackDataThread中对FoodAlert的调用

16.13 游戏的优化与改进

第17章 体育游戏——2D迷你桌球

17.1 2D桌球的背景及功能概述

17.1.1 背景概述

17.1.2 功能简介

17.2 游戏的策划及准备工作

17.2.1 游戏的策划

17.2.2 Android平台下游戏的准备工作

17.3 游戏的架构

17.3.1 游戏的框架简介

17.3.2 各个类的简要介绍

17.4 公共类的实现

17.4.1 主控制类——GameActivity的代码框架

17.4.2 GameActivity类主要成员变量及方法的实现

17.4.3 常量类——Constant的实现

17.5 辅助界面相关类的实现

17.5.1 欢迎动画界面WelcomeView类的实现

17.5.2 主菜单界面MainMenuView的代码框架

17.5.3 主界面类——MainMenu View部分成员方法的实现

17.5.4 主界面动画线程类View DrawThread的实现

17.5.5 排行榜界面HighScore View的代码框架

17.5.6 HighScoreView类的部分方法的实现

17.6 游戏界面相关类的实现

17.6.1 游戏界面GameView类的代码框架

17.6.2 GameView类部分成员方法的实现

17.6.3 键盘监听线程KeyThread类的实现

17.6.4 球运动的线程BallGoThread类的实现

17.7 情景相关类的实现

17.7.1 球台Table类的实现

17.7.2 桌球Ball类的代码框架

17.7.3 Ball类部分成员方法的实现

17.7.4 球杆Cue类的实现

17.8 自定义控件及工具类的实现

17.8.1 球与球碰撞检测的工具类CollisionUtil的实现

17.8.2 定时器Timer类的实现

17.8.3 主菜单按钮MainMenu Button类的实现

17.8.4 获取日期的工具DateUtil 类的实现

17.9 游戏的优化与改进

第18章 益智游戏——3D版推箱子

18.1 3D版推箱子的背景及功能概述

18.1.1 背景概述

18.1.2 功能简介

18.2 游戏的策划及准备工作

18.2.1 游戏的策划

18.2.2 Android平台下游戏开发的准备工作

18.3 游戏的架构

18.3.1 游戏的框架简介

18.3.2 各个类的简要介绍

18.4 公共类的实现

18.4.1 主控制类——MyActivity的代码框架

18.4.2 MyActivity类成员方法的实现

18.4.3 常量类Constant的实现

18.5 辅助界面相关类的实现

18.5.1 欢迎动画界面WelcomeView类的实现

18.5.2 主菜单界面MainView的实现

18.6 游戏界面相关类

18.6.1 游戏界面MySurfaceView类的设计与实现

18.6.2 键盘监听线程KeyThread

18.7 自定义控件及工具类

18.7.1 缩放图片的方法PicLoadUtil

18.7.2 主菜单上的按钮类MainMenuButton

18.8 情景相关类的实现

18.8.1 机器人类的代码框架

18.8.2 机器人类成员方法的实现

18.8.3 机器人组类RobotGroup类的实现

18.8.4 机器人组类成员方法的实现

18.8.5 圆面Circle类的实现

18.8.6 矩形纹理类TextureRect的实现

18.8.7 纹理矩形组类TextureRect Group的实现

18.8.8 墙类Wall的实现

18.8.9 墙Wall类成员方法的实现

18.8.10 箱子Cube类的实现

18.8.11 箱子组CubeGroup类的实现

18.8.12 箱子移动CubeGo类的代码框架

18.8.13 箱子移动CubeGo类的成员方法的实现

18.8.14 地板类Floor的实现

18.9 推箱子地图设计器的开发

18.10 游戏的优化与改进

第19章 物理引擎游戏——盛怒的老鼠

19.1 游戏背景及功能概述

19.1.1 游戏开发背景

19.1.2 游戏功能概述

19.2 游戏策划及准备工作

19.2.1 游戏策划

19.2.2 游戏开发的准备工作

19.3 游戏的框架

19.3.1 游戏主要用到的技术

19.3.2 游戏各个类的介绍

19.3.3 游戏的基本框架

19.4 公共类

19.4.1 主控制类——MyBox2dActivity

19.4.2 常量类Constant

19.5 主界面的设计与实现

19.5.1 鼠头和猫头类Taj

19.5.2 鼠头和猫头控制线程——TJThread

19.5.3 主界面MainMenuView

19.5.4 刷帧线程MainMenuDrawThread

19.6 工具类

19.6.1 加载及缩放图片的工具类PicLoadUtil

19.6.2 生成刚体工具类Box2DUtil

19.6.3 声音工具类SoundUtil

19.7 刚体相关类

19.7.1 多边形类MyPolygonImg

19.7.2 猫头类BodyCat

19.7.3 冰块类BodyIce

19.7.4 木条类BodyWood

19.7.5 刚体类型枚举类BodyType

19.7.6 刚体查询工具类BodySearchUtil

19.8 游戏界面相关类

19.8.1 皮筋类Pijin

19.8.2 记录分数类Score

19.8.3 刷帧线程DrawThread

19.8.4 游戏界面类GameView

19.9 游戏优化与改进

内容摘要:

《Android游戏开发大全》以Android手机游戏的开发为主题,结合真实的游戏案例向读者详细介绍了Android平台下游戏开发的整个流程,同时在游戏开发的介绍过程中还分享了作者多年积累的开发技巧与经验。

《Android游戏开发大全》分为两篇,共19章,第1篇(第1~11章)以简单易懂的实例为依托,详细介绍了Android的前台渲染技术、常用界面布局、网络开发、SQLite数据库的存取、传感器应用的开发、游戏中经常使用的人工智能算法、流行的物理引擎Box2D以及OpenGL ES 3D开发的相关知识。第2篇(第12~19章)详细介绍了8个真实的游戏案例,涵盖了手机游戏中的8个不同种类,包括体育类、益智类、滚屏动作类、棋牌类、物理传感器类、塔防类、物理引擎类以及策略类游戏。每一个游戏都是按照实际的开发步骤进行介绍,并逐步地将Android手机游戏的整个开发过程展现在读者面前。同时在源代码中还包含了详细的注释,以尽量帮助读者掌握代码中的每一个细节。另外,第2篇中所有的案例项目都配有讲解视频,以帮助读者快速理解并得到提升。

《Android游戏开发大全》的讲述由浅入深,从游戏开发的基础知识到开发大型游戏,结构清晰、语言简洁,非常适合Android游戏初学者和Android游戏进阶开发者阅读参考。

书籍规格:

书籍详细信息
书名Android游戏开发大全站内查询相似图书
9787115264930
如需购买下载《Android游戏开发大全》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)88.0语种简体中文
尺寸24 × 19装帧平装
页数 300 印数 4000

书籍信息归属:

Android游戏开发大全是人民邮电出版社于2011.10出版的中图分类号为 TN929.53 ,TP317 的主题关于 移动电话机-游戏程序-程序设计 的书籍。