《Android游戏开发从入门到精通》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王玉芹等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111545439
  • 页数:528 页
图书介绍:在本书的内容中,循序渐进的详细的讲解了Android游戏开发技术的基本知识,并通过实例的方式讲解了Android在游戏领域的具体应用。本书内容新颖、知识全面、讲解详细,全书分为15个章节,第1章讲解了Android技术的概述性知识;第2章讲解了Android的系统结构和内核的基本知识;第3章讲解了Android游戏开发基础的基本知识;第4章讲解了绘制二维平面的基本知识;第5章讲解了初步认识OpenGL ES的基本知识;第6章讲解了OpenGL ES技术进阶的基本知识;第7章讲解了为游戏增加音频特效的基本知识;第8章讲解了传感器技术的基本知识;第9章讲解了为游戏添加网络应用的基本知识;第10章讲解了人工智能技术的基本知识;第11章讲解了Box2D 物理引擎技术详解的基本知识;第12章讲解了桌面类小游戏——五子棋和扫雷的实现过程;第13章讲解了益智类游戏——魔塔游戏的实现过程;第14章讲解了体育竞技类游戏——疯狂足球的实现过程;第15章讲解了棋牌类游戏——象棋的实现过程。在具体讲解各章的内容时,都采取了实例验证的教学方法,每个实例先提出制作思路及包含知识点,在实例最后补充总结知识点并出题让

第一篇 基础知识篇 1

第1章 Android系统概述 1

1.1 智能手机系统介绍 1

1.1.1 何谓智能手机 1

1.1.2 看当前主流的智能手机系统 1

1.2 Android 5.0的特点 2

1.3 Android的巨大优势 3

1.3.1 优势一——系出名门 3

1.3.2 优势二——强大的开发团队 3

1.3.3 优势三——诱人的奖励机制 3

1.3.4 优势四——开源 3

1.4 搭建Android应用开发环境 4

1.4.1 安装Android SDK的系统要求 4

1.4.2 安装JDK 4

1.4.3 获取并安装Eclipse和Android SDK 7

1.4.4 安装ADT 10

1.4.5 设定Android SDK Home 12

1.4.6 验证开发环境 13

1.4.7 创建Android虚拟设备(AVD) 14

1.4.8 启动AVD模拟器 17

第2章 Android核心框架分析 20

2.1 Android安装文件介绍 20

2.1.1 Android SDK目录结构 20

2.1.2 android.jar及内部结构 21

2.1.3 阅读SDK帮助文档 22

2.1.4 常用的SDK工具 23

2.2 剖析Android系统架构 24

2.2.1 Android体系结构介绍 24

2.2.2 Android应用工程文件组成 26

2.3 简述五大组件 29

2.3.1 用Activity表现界面 30

2.3.2 用Intent和IntentFilters实现切换 30

2.3.3 Service服务 30

2.3.4 用BroadcastIntentReceiver发送广播 31

2.3.5 用ContentProvider存储数据 31

2.4 进程和线程 31

2.4.1 先看进程 32

2.4.2 再看线程 32

2.4.3 应用程序的生命周期 32

2.5 第一个Android程序 35

第二篇 核心技术篇 40

第3章 Android游戏开发基础 40

3.1 开发Android游戏的基本流程 40

3.2 Android中的数据存储方式 41

3.2.1 SharedPreferences存储 42

3.2.2 文件存储 44

3.2.3 SQLite存储 45

3.2.4 ContentProvider存储 51

3.2.5 网络存储 55

3.3 访问操作SD卡(手机中的存储卡) 57

3.3.1 解决思路 58

3.3.2 具体实现 58

第4章 绘制游戏角色 67

4.1 绘图类Graphics简介 67

4.2 使用类Color设置文本颜色 67

4.2.1 类Color基础 67

4.2.2 使用类Color更改文字的颜色 68

4.3 使用类Paint绘制图像 69

4.3.1 类Paint基础 69

4.3.2 使用类Color和类Paint实现绘图处理 70

4.4 使用画布类Canvas 73

4.4.1 类Canvas基础 73

4.4.2 使用类Canvas绘制有填充颜色的图形 74

4.5 使用矩形类Rect 76

4.6 类NinePatch基础 79

4.7 使用图形变换类Matrix 80

4.7.1 类Matrix基础 80

4.7.2 使用类Matrix实现图片缩放功能 80

4.8 使用位图操作类Bitmap 85

4.8.1 Bitmap类的功能 85

4.8.2 使用类Bitmap模拟水纹效果 87

4.8.3 使用类Bitmap旋转图片 90

4.9 使用I/O类BitmapFactory 93

4.9.1 类BitmapFactory基础 94

4.9.2 使用类BitmapFactory获取图片的宽和高 94

4.10 使用字体对象类Typeface 97

4.11 使用渲染类Shader 97

4.11.1 类Shader基础 97

4.11.2 使用类Shader渲染不同的图像 98

第5章 使用OpenGL ES构建三维游戏 101

5.1 OpenGLES介绍 101

5.1.1 OpenGLES 3.1 101

5.1.2 Android全面支持OpenGLES 3.1 102

5.2 OpenGL ES的基本应用 102

5.2.1 使用点线法绘制三角形 102

5.2.2 使用索引法绘制三角形 109

5.3 使用OpenGL ES实现投影效果 115

5.3.1 正交投影 115

5.3.2 透视投影 116

5.3.3 正交投影和透视投影的区别 116

5.3.4 实现投影效果实例 116

5.4 使用OpenGL ES实现光照效果 121

5.4.1 什么是光照 121

5.4.2 实现“开启/关闭”光照功能 123

5.5 为游戏增加纹理特效 129

5.5.1 纹理映射的作用 129

5.5.2 实现三角形纹理贴图效果 130

5.6 创建立体图形角色 135

5.7 三维游戏角色坐标定位 144

5.7.1 什么是坐标变换 144

5.7.2 实现缩放变换 144

5.8 为游戏增加3Ds Max特效 150

5.8.1 实现摄像机和雾特效效果 150

5.8.2 实现粒子系统效果 163

第6章 为游戏添加网络功能 168

6.1 Socket技术介绍 168

6.1.1 Socket基础 168

6.1.2 ServerSocket基础 169

6.2 使用HTTP超文本传输协议 170

6.2.1 HTTP基础 170

6.2.2 Android中的HTTP 171

6.2.3 实战演练——传递HTTP参数 172

6.3 下载、上传数据 176

6.3.1 下载网络中的图片数据 177

6.3.2 下载网络中的JSON数据 178

6.3.3 使用GET方式上传数据 184

第7章 为游戏增加音频特效 190

7.1 使用类AudioManager打造游戏声效 190

7.1.1 类AudioManager基础 190

7.1.2 设置短信提示铃声 193

7.2 为游戏设置背景音乐 197

7.2.1 使用AudioTrack播放音频特效 197

7.2.2 使用MediaPlayer播放音频特效 201

7.2.3 使用网络中的MP3作为游戏音效 208

7.2.4 使用SoundPool播放音频特效 215

7.3 实现振动特效 217

7.3.1 类Vibrator的基础 217

7.3.2 将铃声设置为游戏音效 218

第8章 触屏游戏事件处理 224

8.1 基于监听的事件处理 224

8.1.1 监听处理模型中的三种对象 224

8.1.2 Android系统中的监听事件 227

8.1.3 实现事件监听器的方法 228

8.2 基于回调的事件处理 235

8.2.1 Android事件监听器的回调方法 236

8.2.2 基于回调的事件传播 239

8.2.3 重写onTouchEvent方法响应触摸屏事件 241

8.3 响应的系统设置的事件 243

8.3.1 Configuration类详解 244

8.3.2 重写onConfigurationChanged响应系统设置更改 247

8.4 Handler消息传递机制 250

第9章 为游戏设置素材资源 255

9.1 Android的资源类型 255

9.2 如何使用资源 256

9.2.1 在Java代码中使用资源清单项 256

9.2.2 在Java代码中访问实际资源 256

9.2.3 在XML代码中使用资源 257

9.3 “/res/values”目录 258

9.3.1 定义颜色值 258

9.3.2 字符串资源 258

9.3.3 颜色资源文件 259

9.3.4 尺寸资源文件 259

9.3.5 数组资源 260

9.3.6 使用字符串、颜色和尺寸资源 260

9.3.7 使用数组资源 265

9.4 Drawable(图片)资源 268

9.4.1 使用StateListDrawable资源 268

9.4.2 使用LayerDrawable资源 269

9.4.3 使用ShapeDrawable资源 270

9.4.4 使用ClipDrawable资源 271

9.4.5 使用AnimationDrawable资源 271

9.5 使用属性动画(Property Animation)资源 273

9.6 使用原始的XML资源 274

9.7 样式资源和主题资源 277

9.7.1 使用样式资源 277

9.7.2 使用主题资源文件 279

9.8 使用属性资源 281

9.9 使用声音资源 284

第三篇 技术提高篇 287

第10章 Android传感器应用开发详解 287

10.1 Android传感器系统概述 287

10.2 Android传感器应用开发基础 287

10.2.1 查看包含的传感器 288

10.2.2 模拟器测试工具——SensorSimulator 289

10.2.3 实战演练——检测当前设备支持的传感器 293

10.3 使用光线传感器 295

10.3.1 光线传感器介绍 296

10.3.2 使用光线传感器的方法 297

10.4 使用磁场传感器 298

10.4.1 什么是磁场传感器 298

10.4.2 Android系统中的磁场传感器 298

10.5 使用加速度传感器 299

10.5.1 加速度传感器的分类 299

10.5 2 Android系统中的加速度传感器 300

10.6 使用方向传感器 301

10.6.1 方向传感器基础 301

10.6.2 Android中的方向传感器 302

10.7 使用陀螺仪传感器 302

10.7.1 陀螺仪传感器基础 303

10.7.2 Android中的陀螺仪传感器 303

10.8 使用旋转向量传感器 305

10.9 使用距离传感器 306

10.9.1 距离传感器介绍 306

10.9.2 Android系统中的距离传感器 307

10.10 使用气压传感器 309

10.10.1 气压传感器基础 309

10.10.2 气压传感器在智能手机中的应用 309

10.11 使用温度传感器 310

10.11.1 温度传感器介绍 310

10.11.2 Android系统中的温度传感器 311

10.12 使用湿度传感器 313

第11章 游戏中的人工智能算法 315

11.1 人工智能基础 315

11.1.1 人工智能概述 315

11.1.2 两种实现人工智能的方法 315

11.1.3 人工智能在游戏中的应用 316

11.2 图论在人工智能中的应用 318

11.2.1 深度优先搜索(DFS) 318

11.2.2 广度优先搜索(BFS) 320

11.2.3 戴克斯特拉算法(Dijkstra's Algorithm) 322

11.2.4 A*算法 323

11.3 人工智能图搜索算法在Android游戏中的用法 330

11.3.1 搭建路径搜索框架 330

11.3.2 实现深度优先算法 339

11.3.3 实现广度优先算法 341

11.3.4 实现Dijkstra算法 344

11.3.5 实现广度优先A*算法 347

11.3.6 实现DijkstraA*算法 349

第12章 游戏中的Box2D物理引擎 352

12.1 Box2D引擎基础 352

12.1.1 核心概念 352

12.1.2 两种模拟物理世界的算法 353

12.2 将Box2D类库导入Android项目中 353

12.3 Box2D引擎的坐标系 356

12.4 Box2D引擎实战 356

12.4.1 创建Box2D物理世界 356

12.4.2 在物理世界中添加矩形 360

12.4.3 在物理世界中添加自定义多边形 364

12.4.4 在物理世界中添加圆形 369

12.4.5 遍历Body 372

12.4.6 对Body施加力 376

12.4.7 对Body碰撞监听 381

12.4.8 创建关节 388

第四篇 综合实战篇 393

第13章 体育竞技类游戏——疯狂足球 393

13.1 蓬勃发展的手机游戏 393

13.2 足球游戏介绍 393

13.2.1 手机足球游戏 393

13.2.2 策划游戏 394

13.2.3 准备工作 394

13.3 项目架构 395

13.3.1 总体架构 395

13.3.2 规划类 395

13.4 具体编码 396

13.4.1 Activity类开发 396

13.4.2 欢迎界面 402

13.4.3 加载节目 409

13.4.4 运动控制 411

13.4.5 奖品模块 421

第14章 益智类游戏——魔塔游戏 425

14.1 魔塔简介 425

14.1.1 游戏简介 425

14.1.2 发展版本 425

14.2 设计游戏框架 426

14.2.1 设计界面视图 426

14.2.2 屏幕处理 427

14.2.3 更新线程 429

14.2.4 游戏界面显示 431

14.3 绘制处理 432

14.3.1 绘制地图 432

14.3.2 绘制游戏主角 434

14.3.3 绘制对话界面 442

14.3.4 战斗界面 443

14.3.5 图层管理器 446

14.4 实现游戏音效 450

第15章 桌面类小游戏——五子棋和扫雷 453

15.1 开发一个五子棋游戏 453

15.1.1 实例说明 453

15.1.2 具体实现 453

15.2 开发一个扫雷游戏 462

15.2.1 实例说明 462

15.2.2 具体实现 462

第16章 棋牌类游戏——斗地主 471

16.1 斗地主简介 471

16.2 准备素材文件 471

16.3 实现游戏框架 472

16.3.1 系统主界面视图 472

16.3.2 设计菜单视图界面 474

16.3.3 游戏视图界面 477

16.4 实现游戏角色 479

16.4.1 实现扑克角色 479

16.4.2 实现计分角色 497

16.4.3 实现玩家角色 498

16.4.4 实现游戏桌位角色 503

16.5 实现牌面分析 512