图书介绍

Android游戏开发大全(第2版)

  • 吴亚峰,于复兴,杜化美 著
  • 出版社: 人民邮电出版社
  • ISBN:9787115317070
  • 版次:2
  • 商品编码:11276454
  • 包装:平装
  • 开本:16开
  • 出版时间:2013-07-01
  • 页数:644
  • 正文语种:中文

淘宝优惠券

淘宝优惠券

PDF下载

立即下载 高速下载

图书目录

目 录第一篇 Android游戏开发核心技术第1章 Android平台简介 21.1 Android的来龙去脉 21.2 掀起Android的盖头来 21.2.1 选择Android的理由 21.2.2 Android的应用程序框架 31.3 Android开发环境的搭建 51.3.1 SDK的下载及安装 51.3.2 Eclipse集成开发环境的搭建 61.3.3 虚拟设备的创建与模拟器的运行 81.3.4 第一个Android程序 91.3.5 Android程序的监控与调试 121.4 小结 13第2章 Android游戏开发中的前台渲染 142.1 创建Android用户界面 142.1.1 布局管理 142.1.2 常用控件及其事件处理 192.2 图形与动画在Android中的实现 212.2.1 简单图形的绘制 212.2.2 贴图的艺术 232.2.3 自定义动画的播放 242.3 Android平台下的多媒体开发 272.3.1 音频的播放 272.3.2 视频的播放 302.3.3 Camera图像采集 322.4 小结 34第3章 Android游戏开发中的交互式通信 353.1 Android应用程序的基本组件 353.1.1 Activity组件 353.1.2 Service组件 373.1.3 Broadcast Receiver组件 383.1.4 Content Provider组件 393.1.5 AndroidManifest.xml文件简介 393.2 应用程序的内部通信 423.2.1 消息的处理者——Handler类简介 423.2.2 使用Handler进行内部通信 433.3 应用程序组件之间的通信 453.3.1 Intent类简介 453.3.2 应用程序组件——IntentFilter类简介 463.3.3 示例1:与Android系统组件通信 473.3.4 示例2:应用程序组件间通信示例Activity部分的开发 483.3.5 示例3:应用程序组件间通信示例Service部分的开发 503.4 小结 52第4章 Android游戏开发中的数据存储和传感器 534.1 在Android平台上实现数据存储 534.1.1 私有文件夹文件的写入与读取 534.1.2 读取Resources和Assets中的文件 564.1.3 轻量级数据库SQLite简介 584.1.4 SQLite的使用示例 604.1.5 数据共享者——Content Provider的使用 634.1.6 简单的数据存储——Preferences的使用 674.2 Android平台下传感器应用的开发 684.2.1 基本开发步骤 694.2.2 光传感器 714.2.3 温度传感器 724.2.4 接近传感器 744.2.5 磁场传感器 754.2.6 加速度传感器 764.2.7 姿态传感器 814.3 小结 85第5章 Android游戏开发中的网络编程 865.1 基于Socket套接字的网络编程 865.2 基于HTTP的网络编程 895.2.1 通过URL获取网络资源 895.2.2 在Android中解析XML 915.3 Android平台下的Google Map 915.3.1 准备工作 915.3.2 简单的案例 945.4 蓝牙通信 985.4.1 基础知识 985.4.2 简单的案例 985.5 小结 109第6章 不一样的游戏,一样的精彩应用 1106.1 射击类游戏 1106.1.1 游戏玩法 1106.1.2 视觉效果 1106.1.3 游戏内容设计 1116.2 竞速类游戏 1116.2.1 游戏玩法 1116.2.2 视觉效果 1126.2.3 游戏内容设计 1126.3 益智类游戏 1126.3.1 游戏玩法 1136.3.2 视觉效果 1136.3.3 游戏内容设计 1136.4 角色扮演游戏 1146.4.1 游戏玩法 1146.4.2 视觉效果 1146.4.3 游戏内容设计 1156.5 闯关动作类游戏 1156.5.1 游戏玩法 1156.5.2 视觉效果 1166.5.3 游戏内容设计 1166.6 冒险游戏 1166.6.1 游戏玩法 1166.6.2 视觉效果 1176.6.3 游戏内容设计 1176.7 策略游戏 1186.7.1 游戏玩法 1186.7.2 视觉效果 1186.7.3 游戏内容设计 1196.8 养成类游戏 1196.8.1 游戏玩法 1196.8.2 视觉效果 1196.8.3 游戏内容设计 1206.9 经营类游戏 1206.9.1 游戏玩法 1216.9.2 视觉效果 1216.9.3 游戏内容设计 1216.10 体育类游戏 1216.10.1 游戏玩法 1216.10.2 视觉效果 1226.10.3 游戏内容设计 1226.11 小结 122第7章 游戏背后的数学与物理 1237.1 编程中经常用到的数理知识 1237.1.1 数学方面 1237.1.2 物理方面 1257.2 物理小球在游戏中的应用 1257.2.1 开发运动体Movable类的代码 1267.2.2 开发物理引擎BallThread类的代码 1277.2.3 视图类——开发BallView类的代码 1307.2.4 绘制线程——开发DrawThread类的代码 1337.2.5 开发Activity部分的代码 1347.3 粒子系统 1357.3.1 粒子对象类——开发粒子对象Particle类和粒子集合ParticleSet类 1357.3.2 开发焰火粒子系统的物理引擎ParticleThread类的代码 1377.3.3 视图类——开发视图类ParticleView及其相关类 1387.3.4 开发程序Activity部分的代码 1407.3.5 将焰火粒子系统改为瀑布粒子系统 1407.4 碰撞检测技术 1417.4.1 碰撞检测技术基础 1427.4.2 游戏中实体对象之间的碰撞检测 1437.4.3 游戏实体对象与环境之间的碰撞检测 1457.5 用粒子系统模拟流体 1467.5.1 基本原理 1467.5.2 一个简单的案例 1487.5.3 通过将物理计算并行化提高效率 1527.6 小结 153第8章 游戏地图必知必会 1548.1 两种不同单位形状的地图 1548.1.1 正方形地图 1548.1.2 正方形地图案例 1568.1.3 正六边形地图 1578.1.4 正六边形地图案例 1598.1.5 正方形地图和正六边形地图的比较 1618.2 正六边形地图路径搜索 1618.2.1 路径搜索示例基本框架的搭建 1618.2.2 深度优先路径搜索DFS 1668.2.3 广度优先路径搜索BFS 1688.2.4 路径搜索算法——Dijkstra 1708.2.5 用A*算法优化算法 1738.3 地图编辑器与关卡设计 1758.3.1 关卡地图的重要性 1768.3.2 图片分割界面的实现 1778.3.3 地图设计界面的实现 1818.4 小结 186第9章 游戏开发小秘技 1879.1 有限状态机 1879.1.1 何为有限状态机 1879.1.2 有限状态机的简单实现 1889.1.3 有限状态机的OO实现 1929.2 游戏中的模糊逻辑 1949.2.1 模糊的才是真实的 1949.2.2 如何在Android中将游戏模糊化 1959.3 游戏的基本优化技巧 1979.3.1 代码上的小艺术 1979.3.2 Android中的查找表技术 1989.3.3 游戏的感觉和性能问题 2009.4 小结 201第10章 游戏的心脏——物理引擎 20210.1 物理引擎很重要 20210.1.1 什么是物理引擎 20210.1.2 常见的物理引擎 20210.2 2D的王者JBox2D 20410.2.1 基本的物理学概念 20510.2.2 JBox2D中常用类的介绍 20610.3 球体撞击木块金字塔案例 21010.3.1 案例运行效果 21110.3.2 案例的基本框架结构 21110.3.3 常量类——Constant 21210.3.4 抽象类——MyBody 21210.3.5 圆形刚体类——MyCircleColor 21310.3.6 生成刚体形状的工具类——Box2DUtil 21310.3.7 颜色工具类——ColorUtil 21510.3.8 主控制类——MyBox2dActivity 21510.3.9 显示界面类——GameView 21710.3.10 绘制线程类——DrawThread 21810.4 简易打砖块案例 21910.4.1 一般碰撞版 21910.4.2 碰撞后消失版 22110.5 旋转关节跷跷板案例 22510.5.1 旋转关节介绍 22510.5.2 多边形刚体类MyPolygon Color的开发 22510.5.3 生成刚体形状的工具类——Box2DUtil 22610.5.4 将场景中的刚体摆放到位 22710.5.5 增加旋转关节 22710.6 旋转关节链条摆案例 22910.6.1 案例运行效果 22910.6.2 案例的机械结构 22910.6.3 主控制类——MyBox2dActivity 23010.7 组合机械结构案例 23110.7.1 案例运行效果 23110.7.2 整体场景的机械结构 23210.7.3 案例的基本框架结构 23310.7.4 圆形刚体类MyCircleColor 23410.7.5 生成刚体的工具类Box2DUtil 23510.7.6 游戏界面——GameView 23610.7.7 主控制类MyBox2dActivity 23710.7.8 绘画线程类——DrawThread 23910.8 小结 240第11章 OpenGL ES 3D应用开发基础 24111.1 OpenGL ES概述及3D基本图形绘制 24111.1.1 OpenGL及OpenGL ES简介 24111.1.2 3D基本知识 24211.1.3 使用索引的不同绘制方式 24311.1.4 用索引法绘制三角形的案例 24411.1.5 不使用索引数据绘制 25011.2 正交投影和透视投影 25111.2.1 正交投影 25111.2.2 透视投影 25211.2.3 两种投影方式的原理及视口 25311.2.4 两种投影方式的案例 25311.3 光照与材质 25511.3.1 光照的3种组成元素 25511.3.2 定向光与定位光 25611.3.3 法向量 25711.3.4 材质 25911.3.5 两种光源的案例 25911.4 纹理及纹理映射 26111.4.1 纹理映射基本原理 26211.4.2 使用纹理映射的案例 26211.4.3 几种纹理拉伸方式 26511.4.4 几种纹理过滤方式 26611.5 摄像机和雾特效 26711.5.1 摄像机的设置 26711.5.2 设置合理的视角 26811.5.3 雾特效的开发 26911.6 典型几何体的开发 27111.6.1 圆柱 27111.6.2 圆锥 27511.6.3 球 27811.6.4 椭圆体 28011.6.5 胶囊体 28211.6.6 几何体大集合 28511.7 小结 287第二篇 Android游戏开发实战综合案例第12章 滚屏动作游戏——太空保卫战 29012.1 游戏的背景及功能概述 29012.1.1 游戏背景概述 29012.1.2 游戏功能简介 29012.2 游戏的策划及准备工作 29212.2.1 游戏的策划 29212.2.2 Android平台下游戏开发的准备工作 29212.3 游戏的架构 29412.3.1 各种类的简要介绍 29412.3.2 游戏的框架简介 29512.4 辅助界面相关类的实现 29612.4.1 主控制类——PlaneActivity的实现 29612.4.2 欢迎界面WelcomeView类 29812.4.3 其他辅助界面的介绍 30112.5 游戏界面的框架设计 30312.6 游戏实体相关类的实现 30712.6.1 飞机Plane类的实现 30712.6.2 敌方飞机EnemyPlane类的实现 31012.6.3 子弹Bullet类的实现 31112.6.4 其他相关类的实现 31212.7 游戏界面的完善 31412.7.1 地图类Maps的实现 31412.7.2 背景滚动类GameViewBackGroundThread的实现 31612.7.3 物体移动线程MoveThread的实现 31712.7.4 键盘监听线程PlanMove Thread的实现 31812.7.5 图片初始化方法initBitmap的实现 31912.7.6 绘制方法onDraw的实现 32012.8 游戏的优化与改进 322第13章 棋牌游戏——中国象棋人机对弈 32313.1 游戏的背景及功能概述 32313.1.1 游戏背景概述 32313.1.2 游戏功能介绍 32313.2 游戏的策划及准备工作 32413.2.1 游戏的策划 32413.2.2 Android平台下游戏的准备工作 32513.3 游戏的架构 32713.3.1 各个类简要介绍 32713.3.2 游戏框架简介 32813.4 主控制类——Chess_DJB_Activity 32813.5 辅助界面相关类 33113.6 游戏界面相关类 33313.6.1 游戏界面绘制类GameView 33313.6.2 游戏界面常量类ViewConstant 34813.7 走法引擎相关类 34913.7.1 常量类Constant 34913.7.2 工具类Chess_LoadUtil 35313.7.3 走法引擎主类LoadUtil 35413.7.4 走法的排序规则类MyComparator 36313.7.5 记录走棋步骤类StackplayChess 36413.8 游戏的优化与改进 364第14章 物理传感器游戏——哇!重力球 36514.1 游戏背景及功能概述 36514.1.1 游戏背景概述 36514.1.2 游戏功能简介 36514.2 游戏的策划和准备工作 36714.2.1 游戏的策划 36714.2.2 游戏的准备工作 36714.3 游戏的架构 36914.3.1 游戏的总体架构 36914.3.2 游戏的类架构 36914.4 主控制类——TableBallActivity类的开发 37114.5 界面相关类 37414.5.1 主界面类MainMenuView 37414.5.2 模式选择界面类PatternChooseView 37614.5.3 选关界面LevelChooseView 37814.5.4 历史记录界面HistoryView 37914.5.5 设置界面SettingsView 38214.6 工具辅助类 38414.6.1 数据库类DBUtil 38514.6.2 声音工具类SoundUtil 38914.6.3 图片工具类PicLoadUtil 39114.6.4 时间相关类 39314.7 刚体类 39514.7.1 刚体父类MyBody 39514.7.2 球洞类Hole 39614.7.3 变化的洞FlashHole类 39714.7.4 创建刚体的工具类 39814.8 游戏界面相关类 40114.8.1 游戏界面GameView 40114.8.2 碰撞响应类CollisionAction 40414.8.3 游戏界面绘画线程DrawThread 40614.9 游戏的优化与改进 406第15章 塔防游戏——炫彩塔防 40815.1 游戏背景及功能概述 40815.1.1 游戏背景概述 40815.1.2 游戏功能介绍 40815.2 游戏的策划及准备工作 41015.2.1 游戏的策划 41115.2.2 Android平台下游戏开发的准备工作 41115.3 游戏的架构 41415.3.1 各个类的简要介绍 41415.3.2 游戏框架简介 41615.4 游戏辅助界面 41715.4.1 主菜单界面 41715.4.2 游戏关卡界面 41915.4.3 关于游戏界面 42315.5 游戏算法及主界面相关类 42415.5.1 游戏核心算法类——Game 42415.5.2 游戏界面相关类 42715.5.3 怪物类——Monster_Square 43415.5.4 炮塔类——Tower_Shell 44015.5.5 子弹相关类 44415.5.6 地图功能类——Blood_Up 44915.5.7 怪物生成线程——CreateMonster 45015.5.8 爆炸类——Utils 45115.5.9 屏幕自适应相关类 45315.6 游戏的优化及改进 456第16章 策略游戏——回到战国 45716.1 游戏背景及功能概述 45716.1.1 游戏背景概述 45716.1.2 游戏功能简介 45716.2 游戏的策划及准备工作 46116.2.1 游戏的策划 46116.2.2 Android平台下游戏的准备工作 46216.3 游戏的架构 46316.3.1 游戏的模块架构 46316.3.2 游戏各个类的简要介绍 46416.4 地图设计器的开发 46616.4.1 底层地图设计器的开发 46616.4.2 上层地图设计器的开发 46916.5 Activity和游戏工具类的开发 47016.5.1 主控制类——HDZGActivity的介绍 47016.5.2 公式封装类——GameFormula的介绍 47216.5.3 常量工具类ConstantUtil的介绍 47416.6 数据存取模块的开发 47516.6.1 城池信息以及地图层信息的封装类 47516.6.2 数据存取相关类的介绍 47816.7 英雄角色模块的开发 48116.7.1 Hero类的代码框架 48216.7.2 英雄运动线程——HeroGoThread类的开发 48316.7.3 辅助线程——HeroBackDataThread类的开发 48616.8 表示层界面模块的开发 48616.8.1 滚屏类——ScreenRollView类的开发 48616.8.2 滚屏线程——ScreenRollThread的开发 48716.8.3 游戏界面GameView的框架介绍 48816.8.4 游戏界面绘制方法onDraw的介绍 49116.8.5 游戏界面屏幕监听方法onTouch的介绍 49216.8.6 游戏界面后台线程GameViewThread的介绍 49516.9 管理面板模块的开发 49516.9.1 人物属性面板类ManPanelView的开发 49516.9.2 城池管理面板类CityManageView的开发 50016.10 地图中可遇实体模块的开发 50316.10.1 绘制类——MyDrawable的开发 50316.10.2 抽象类——MyMeetableDrawable的开发 50416.10.3 森林类——ForestDrawable的开发 50516.10.4 可遇实体对象的调用流程 50716.11 英雄技能模块的开发 50816.11.1 技能抽象类——Skill的开发 50916.11.2 伐木技能类——LumberSkill的开发 50916.11.3 “随心步”技能类——SuiXinBuSkill的开发 51016.12 游戏提示模块的开发 51016.12.1 提示模块抽象类——GameAlert的开发 51116.12.2 点击确定按钮显示的信息类——PlainAlert的开发 51116.12.3 显示粮草危机信息类——FoodAlert的开发 51216.12.4 辅助线程HeroBackDataThread中对FoodAlert的调用 51416.13 游戏的优化与改进 515第17章 体育游戏——2D迷你桌球 51617.1 2D桌球的背景及功能概述 51617.1.1 游戏背景概述 51617.1.2 游戏功能简介 51617.2 游戏的策划及准备工作 51817.2.1 游戏的策划 51817.2.2 Android平台下游戏的准备工作 51917.3 游戏的架构 51917.3.1 游戏的框架简介 52017.3.2 各个类的简要介绍 52017.4 公共类的实现 52217.4.1 主控制类——GameActivity的代码框架 52217.4.2 GameActivity类主要成员变量及方法的实现 52417.4.3 常量类——Constant的实现 52817.5 辅助界面相关类的实现 52917.5.1 欢迎动画界面WelcomeView类的实现 52917.5.2 主菜单界面MainMenuView的代码框架 53117.5.3 主界面类——MainMenuView部分成员方法的实现 53217.5.4 主界面动画线程类ViewDrawThread的实现 53417.5.5 排行榜界面HighScoreView的代码框架 53617.5.6 HighScoreView类的部分方法的实现 53617.6 游戏界面相关类的实现 53817.6.1 游戏界面GameView类的代码框架 53817.6.2 GameView类部分成员方法的实现 53917.6.3 键盘监听线程KeyThread类的实现 54217.6.4 球运动的线程BallGoThread类的实现 54317.7 情景相关类的实现 54417.7.1 球台Table类的实现 54417.7.2 桌球Ball类的代码框架 54617.7.3 Ball类部分成员方法的实现 54817.7.4 球杆Cue类的实现 55017.8 自定义控件及工具类的实现 55217.8.1 球与球碰撞检测的工具类CollisionUtil的实现 55217.8.2 定时器Timer类的实现 55417.8.3 主菜单按钮MainMenuButton类的实现 55517.8.4 获取日期的工具DateUtil类的实现 55617.9 游戏的优化与改进 556第18章 益智游戏——3D魔方 55718.1 游戏背景及功能概述 55718.1.1 游戏开发背景概述 55718.1.2 游戏功能介绍 55818.2 游戏的策划及准备工作 55918.2.1 游戏的策划 55918.2.2 Android平台下游戏开发的准备工作 56018.3 游戏的架构 56118.3.1 各个类简要介绍 56118.3.2 游戏框架简介 56318.4 公共类CubeActivity 56418.5 游戏欢迎界面类WelcomeView 56718.6 游戏界面相关类 57018.6.1 辅助类TextureRect类 57018.6.2 魔方控制类CubesControl 57118.6.3 魔方正方形绘制类CubeSurfDraw 57518.6.4 辅助类FlagDraw 57718.6.5 魔方单面颜色信息类Surface 57818.6.6 魔方信息类CubeData 57818.6.7 单个魔方面类SurfaceGroup 58318.6.8 数据常量类Constant 58318.6.9 游戏界面类MySurfaceView 58518.7 游戏相关线程类 59118.7.1 单层旋转动画类RotateThread 59118.7.2 游戏帮助类HelpThread 59318.7.3 魔方还原动画类ReSetCube 59618.7.4 打乱魔方动画类UpsetThread 59718.7.5 计时器类TimeThread 59818.8 魔方的还原算法工具类ReSetUtil 60018.9 游戏的优化与改进 601第19章 物理引擎游戏——盛怒的老鼠 60219.1 游戏背景及功能概述 60219.1.1 游戏开发背景 60219.1.2 游戏功能概述 60219.2 游戏策划及准备工作 60419.2.1 游戏策划 60419.2.2 游戏开发的准备工作 60519.3 游戏的框架 60719.3.1 游戏主要用到的技术 60719.3.2 游戏各个类的介绍 60719.3.3 游戏的基本框架 60919.4 公共类 60919.4.1 主控制类——MyBox2dActivity 60919.4.2 常量类Constant 61119.5 主界面的设计与实现 61919.5.1 鼠头和猫头类Taj 61919.5.2 鼠头和猫头控制线程——TJThread 62019.5.3 主界面MainMenuView 62119.5.4 刷帧线程MainMenuDrawThread 62619.6 工具类 62719.6.1 加载及缩放图片的工具类PicLoadUtil 62719.6.2 生成刚体工具类Box2DUtil 62819.6.3 声音工具类SoundUtil 62919.7 刚体相关类 63019.7.1 多边形类MyPolygonImg 63019.7.2 猫头类BodyCat 63119.7.3 冰块类BodyIce 63219.7.4 木条类BodyWood 63319.7.5 刚体类型枚举类BodyType 63419.7.6 刚体查询工具类BodySearchUtil 63419.8 游戏界面相关类 63519.8.1 皮筋类Pijin 63519.8.2 记录分数类Score 63619.8.3 刷帧线程DrawThread 63719.8.4 游戏界面类GameView 63919.9 游戏优化与改进 644

查看全部 ↓

精品推荐