Android 游戏案例开发大全 第4版

Android 游戏案例开发大全 第4版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2018-08
版次: 04
ISBN: 9787115475558
定价: 108.00
装帧: 平装
开本: 16开
页数: 710页
正文语种: 简体中文
  • 内 容 提 要
    本书内容分为两大部分:首先讲解了Android游戏开发核心技术,主要包括Android游戏开发的前台渲染、交互式通信、数据存储和传感器、网络编程、游戏背后的数学与物理、游戏地图开发、游戏开发小秘技、JBox2D物理引擎、3D应用开发基础等;接下来介绍Android游戏开发实战综合案例,包括多种流行的游戏类型,如滚屏动作类游戏—《坦克大战》、网络游戏—《风火三国》、益智类游戏—《Wo!Water!》、3D塔防类游戏—《三国塔防》、策略游戏—《大富翁》、休闲类游戏—《切切乐》、休闲类游戏—《3D冰球》等。
    本书适合Android初学者、游戏开发人员阅读,也可作为高校相关专业的学习用书或培训学校的教材。 吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为OpenGL ES、WebGL、Vulkan及手机游戏。同时为手机游戏、移动3D应用独立软件开发工程师,并兼任百纳科技Java培训中心首xi培训师。近十年来为数十家企业培养了上千名软件开发人员,曾编写过《Cocos2d-X案例开发大全》《Cocos2d-X 3.0游戏开发实战详解》《Cocos2d-X 3.x 游戏案例开发大全》《OpenGL ES 3.x游戏开发(上下卷)》《H5和WebGL 3D开发实战详解》等多本畅销技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。 目 录

    第 1章 Android平台简介 1
    1.1 Android的来龙去脉 1
    1.2 掀起Android的盖头来 1
    1.2.1 选择Android的理由 1
    1.2.2 Android的应用程序框架 2
    1.3 Android开发环境的搭建 4
    1.3.1 Android Studio和Android SDK的下载 4
    1.3.2 Android Studio和Android SDK的安装 4
    1.3.3 开发第 一个Android程序 8
    1.3.4 Android程序的监控与调试 13
    1.4 已有Android Studio项目的导入与
    运行 14
    1.5 本章小结 16
    第 2章 Android游戏开发中的前台渲染 17
    2.1 创建Android用户界面 17
    2.1.1 布局管理 17
    2.1.2 常用控件及其事件处理 22
    2.2 图形与动画在Android中的实现 24
    2.2.1 简单图形的绘制 24
    2.2.2 贴图的艺术 25
    2.2.3 剪裁功能 27
    2.2.4 自定义动画的播放 30
    2.3 Android平台下的多媒体开发 32
    2.3.1 音频的播放 32
    2.3.2 视频的播放 35
    2.3.3 Camera图像采集 37
    2.4 本章小结 39
    第3章 Android游戏开发中的交互式
    通信 40
    3.1 Android应用程序的基本组件 40
    3.1.1 Activity组件 40
    3.1.2 Service组件 42
    3.1.3 Broadcast Receiver组件 42
    3.1.4 Content Provider组件 43
    3.1.5 AndroidManifest.xml文件
    简介 44
    3.2 应用程序的内部通信 46
    3.2.1 消息的处理者—Handler类简介 47
    3.2.2 使用Handler进行内部通信 48
    3.3 应用程序组件之间的通信 49
    3.3.1 Intent类简介 50
    3.3.2 应用程序组件—IntentFilter类简介 51
    3.3.3 示例1:与Android系统组件通信 52
    3.3.4 示例2:应用程序组件间通信示例Activity部分的开发 53
    3.3.5 示例3:应用程序组件间通信示例Service部分的开发 55
    3.4 本章小结 57
    第4章 Android游戏开发中的数据存储和传感器 58
    4.1 在Android平台上实现数据存储 58
    4.1.1 私有文件夹文件的写入与
    读取 58
    4.1.2 读取Resources和Assets中的文件 61
    4.1.3 轻量级数据库SQLite简介 63
    4.1.4 SQLite的使用示例 65
    4.1.5 数据共享者—Content Provider的使用 68
    4.1.6 简单的数据存储—Preferences的使用 71
    4.2 Android平台下传感器应用的开发 73
    4.2.1 基本开发步骤 74
    4.2.2 光传感器 76
    4.2.3 温度传感器 77
    4.2.4 接近传感器 79
    4.2.5 加速度传感器 80
    4.2.6 磁场传感器 82
    4.2.7 姿态传感器 84
    4.2.8 陀螺仪传感器 87
    4.2.9 加速度传感器综合案例 88
    4.2.10 传感器的坐标轴问题 91
    4.3 本章小结 94
    第5章 Android游戏开发中的网络编程 95
    5.1 基于Socket套接字的网络编程 95
    5.2 基于HTTP的网络编程 98
    5.2.1 通过URL获取网络资源 98
    5.2.2 在Android中解析XML 100
    5.3 蓝牙通信 101
    5.3.1 基础知识 101
    5.3.2 简单的案例 101
    5.4 简单的多用户并发网络游戏编程
    架构 112
    5.4.1 基本知识 112
    5.4.2 双人联网操控飞机案例 114
    5.5 本章小结 123
    第6章 不一样的游戏,一样的精彩应用 125
    6.1 射击类游戏 125
    6.1.1 游戏玩法 125
    6.1.2 视觉效果 125
    6.1.3 游戏内容设计 126
    6.2 竞速类游戏 127
    6.2.1 游戏玩法 127
    6.2.2 视觉效果 127
    6.2.3 游戏内容设计 127
    6.3 益智类游戏 128
    6.3.1 游戏玩法 128
    6.3.2 视觉效果 129
    6.3.3 游戏内容设计 129
    6.4 角色扮演游戏 129
    6.4.1 游戏玩法 129
    6.4.2 视觉效果 130
    6.4.3 游戏内容设计 131
    6.5 闯关动作类游戏 131
    6.5.1 游戏玩法 132
    6.5.2 视觉效果 132
    6.5.3 游戏内容设计 132
    6.6 冒险游戏 132
    6.6.1 游戏玩法 133
    6.6.2 视觉效果 133
    6.6.3 游戏内容设计 134
    6.7 策略游戏 134
    6.7.1 游戏玩法 134
    6.7.2 视觉效果 135
    6.7.3 游戏内容设计 135
    6.8 养成类游戏 135
    6.8.1 游戏玩法 135
    6.8.2 视觉效果 136
    6.8.3 游戏内容设计 136
    6.9 经营类游戏 137
    6.9.1 游戏玩法 137
    6.9.2 视觉效果 137
    6.9.3 游戏内容设计 138
    6.10 体育类游戏 138
    6.10.1 游戏玩法 138
    6.10.2 视觉效果 139
    6.10.3 游戏内容设计 139
    6.11 本章小结 139
    第7章 游戏背后的数学与物理 140
    7.1 编程中经常用到的数理知识 140
    7.1.1 数学方面 140
    7.1.2 物理方面 142
    7.2 碰撞检测技术 143
    7.2.1 碰撞检测技术基础 143
    7.2.2 游戏中实体对象之间的碰撞检测 144
    7.2.3 游戏实体对象与环境之间的碰撞检测 146
    7.2.4 穿透效应问题 147
    7.3 必知必会的计算几何 148
    7.3.1 GeoLib库中常用基础类的
    介绍 148
    7.3.2 无孔多边形的相关知识 156
    7.3.3 有孔多边形的相关知识 159
    7.3.4 有孔多边形案例 162
    7.3.5 显示凸壳案例 166
    7.3.6 多边形切分案例 169
    7.3.7 显示包围框以及多边形的
    矩形组合案例 173
    7.3.8 旋转与凸子区域案例 175
    7.3.9 平滑与计算最短距离案例 177
    7.3.10 多边形缩放与不重叠案例 178
    7.3.11 求多边形对称案例 180
    7.3.12 多边形集合运算案例 181
    7.4 本章小结 183
    第8章 游戏地图必知必会 184
    8.1 两种不同单元形状的地图 184
    8.1.1 正方形单元地图 184
    8.1.2 正方形单元地图案例 186
    8.1.3 正六边形单元地图 187
    8.1.4 正六边形单元地图案例 189
    8.1.5 正方形单元和正六边形单元地图的比较 191
    8.2 正六边形单元地图的路径搜索 191
    8.2.1 路径搜索示例基本框架的
    搭建 191
    8.2.2 深度优先路径搜索DFS 197
    8.2.3 广度优先路径搜索 199
    8.2.4 路径搜索算法—Dijkstra
    算法 201
    8.2.5 用A*算法优化算法 204
    8.3 正六边形单元地图的网格定位 206
    8.3.1 基本知识 206
    8.3.2 简单的案例 206
    8.4 地图编辑器与关卡设计 208
    8.4.1 关卡地图的重要性 208
    8.4.2 图片分割界面的实现 210
    8.4.3 地图设计界面的实现 214
    8.5 多分辨率屏幕的自适应 219
    8.5.1 非等比例缩放 219
    8.5.2 非等比例缩放案例 220
    8.5.3 等比例缩放并剪裁 223
    8.5.4 等比例缩放并剪裁案例 224
    8.5.5 等比例缩放并留白 225
    8.5.6 等比例缩放并留白案例 226
    8.6 本章小结 227
    第9章 游戏开发小秘技 228
    9.1 有限状态机 228
    9.1.1 什么是有限状态机 228
    9.1.2 有限状态机的简单实现 229
    9.1.3 有限状态机的OO实现 233
    9.2 游戏中的模糊逻辑 235
    9.2.1 模糊的才是真实的 235
    9.2.2 如何在Android中将游戏
    模糊化 236
    9.3 游戏的基本优化技巧 238
    9.3.1 代码上的小艺术 238
    9.3.2 Android中的查找表技术 239
    9.3.3 游戏的感觉和性能问题 241
    9.4 多点触控技术的使用 242
    9.4.1 基本知识 242
    9.4.2 一个简单的案例 243
    9.5 本章小结 247
    第 10章 JBox2D物理引擎 248
    10.1 物理引擎很重要 248
    10.1.1 什么是物理引擎 248
    10.1.2 常见的物理引擎 248
    10.2 2D的王者JBox2D 251
    10.2.1 基本的物理学概念 251
    10.2.2 JBox2D中常用类的介绍 252
    10.3 木块金字塔被撞击案例 262
    10.3.1 案例运行效果 262
    10.3.2 案例的基本框架结构 263
    10.3.3 常量类—Constant 263
    10.3.4 物体类—MyBody 264
    10.3.5 圆形物体类—
    MyCircleColor 264
    10.3.6 矩形物体类—
    MyRectColor 265
    10.3.7 生成物理形状工具类—
    Box2DUtil 266
    10.3.8 主控制类—
    MyBox2dActivity 267
    10.3.9 显示界面类—
    GameView 269
    10.3.10 绘制线程类—
    DrawThread 270
    10.4 简易打砖块案例 271
    10.4.1 案例运行效果 271
    10.4.2 需要了解的类 271
    10.4.3 碰撞监听器—
    MyContactListener类 274
    10.4.4 碰撞检测工具类—
    BodySearchUtil 275
    10.4.5 绘制线程类—
    DrawThread 275
    10.5 物体无碰撞下落案例 276
    10.5.1 案例运行效果 276
    10.5.2 碰撞过滤器—
    ContactFilter类 277
    10.5.3 碰撞过滤类的开发 277
    10.5.4 多边形刚体类—
    MyPolygonColor 278
    10.5.5 生成刚体性状的工具类—
    Box2DUtil 279
    10.5.6 主控制类—
    MyBox2dActivity 279
    10.5.7 显示界面类—
    GameView 281
    10.6 关节—Joint 282
    10.6.1 关节定义—JointDef类 282
    10.6.2 距离关节描述—
    DistanceJointDef类 282
    10.6.3 距离关节案例—
    小球下摆 283
    10.6.4 旋转关节描述—
    RevoluteJointDef类 286
    10.6.5 旋转关节案例—转动的
    风扇与跷跷板 287
    10.6.6 鼠标关节描述—
    MouseJointDef类 290
    10.6.7 鼠标关节案例—
    物体下落 290
    10.6.8 移动关节描述—
    PrismaticJointDef类 294
    10.6.9 移动关节案例—定向
    移动的木块 295
    10.6.10 齿轮关节描述—
    GearJointDef类 297
    10.6.11 齿轮关节案例—转动的
    齿轮 298
    10.6.12 焊接关节描述—
    WeldJointDef类 301
    10.6.13 焊接关节案例—
    有弹性的木板 301
    10.6.14 滑轮关节描述—
    PulleyJointDef类 304
    10.6.15 滑轮关节案例—移动的
    木块 304
    10.6.16 车轮关节描述—
    WheelJointDef类 306
    10.6.17 车轮关节案例—
    运动的小车 307
    10.6.18 绳索关节描述—
    RopeJointDef类 309
    10.6.19 绳索关节案例—掉落的
    糖果 309
    10.7 模拟传送带案例 317
    10.7.1 案例运行效果 317
    10.7.2 碰撞监听器—
    MyContactListener类 318
    10.7.3 主控制类—
    MyBox2DActivity 320
    10.7.4 线程类—DrawThread 321
    10.8 光线投射案例 322
    10.8.1 案例运行效果 322
    10.8.2 RayCastInput类与RayCastOutput类 322
    10.8.3 光线检测类—
    MyRayCast 323
    10.8.4 主控制类—
    MyBox2dActivity 324
    10.8.5 显示界面类—
    GameView 325
    10.9 模拟爆炸案例 327
    10.9.1 案例运行效果 327
    10.9.2 光线投射回调接口—
    RayCastCallback 327
    10.9.3 自身的光线投射回调类—
    RayCastClosestCallback 328
    10.9.4 主控制类—
    MyBox2dActivity 328
    10.10 流体模拟 329
    10.10.1 流体模拟的相关知识 330
    10.10.2 波浪制造机案例 333
    10.10.3 软体案例 336
    10.10.4 固体案例 337
    10.10.5 粉尘案例 339
    10.11 本章小结 340
    第 11章 3D应用开发基础 341
    11.1 OpenGL和OpenGL ES简介 341
    11.2 3D基本知识 343
    11.3 OpenGL ES 2.0 344
    11.3.1 OpenGL ES 2.0的渲染
    管线 345
    11.3.2 不同的绘制方式 348
    11.3.3 初识OpenGL ES 2.0应用
    程序 350
    11.3.4 着色语言 355
    11.3.5 正交投影 357
    11.3.6 透视投影 361
    11.3.7 光照的3种组成元素 364
    11.3.8 定向光与定位光 366
    11.3.9 点法向量和面法向量 371
    11.3.10 纹理映射 372
    11.4 利用OpenGL ES 2.0绘制真实的
    流体 377
    11.4.1 流体绘制的策略 377
    11.4.2 一个简单的案例 379
    11.4.3 流体计算流水线回顾 388
    11.5 OpenGL ES 3.x 389
    11.5.1 程序升级的要点 390
    11.5.2 一个简单的案例 390
    11.6 用OpenGL ES实现2D绘制 392
    11.7 本章小结 394
    第 12章 滚屏动作类游戏—
    《坦克大战》 395
    12.1 游戏的背景及功能概述 395
    12.1.1 背景概述 395
    12.1.2 功能简介 395
    12.2 游戏的策划及准备工作 397
    12.2.1 游戏的策划 397
    12.2.2 安卓平台下游戏开发的准备
    工作 398
    12.3 游戏的架构 401
    12.3.1 程序结构的简要介绍 401
    12.3.2 服务器端的简要介绍 401
    12.4 服务器端的开发 402
    12.4.1 数据类的开发 402
    12.4.2 服务线程的开发 403
    12.4.3 碰撞检测类的开发 405
    12.4.4 动作执行类的开发 407
    12.4.5 状态更新类的开发 410
    12.5 Android端的开发 411
    12.5.1 数据类的开发 411
    12.5.2 TankActivity类的开发 413
    12.5.3 MySurfaceView类的开发 415
    12.5.4 菜单类的开发 419
    12.5.5 杂项类的开发 421
    12.5.6 物体绘制类的开发 425
    12.6 辅助工具类 426
    12.6.1 摇杆工具类的开发 426
    12.6.2 数据接收工具类的开发 428
    12.6.3 数据发送工具类的开发 429
    12.7 地图设计器 431
    12.8 游戏的优化及改进 432
    第 13章 网络游戏开发—《风火三国》网络
    对战游戏 433
    13.1 游戏背景及功能概述 433
    13.1.1 背景概述 433
    13.1.2 功能简介 434
    13.2 游戏策划及准备工作 436
    13.2.1 游戏的策划 436
    13.2.2 Android平台下游戏开发的
    准备工作 436
    13.3 游戏的框架 437
    13.3.1 各个类的简要介绍 437
    13.3.2 游戏的框架简介 438
    13.4 共有类SanGuoActivity的实现 439
    13.5 辅助界面相关类的实现 444
    13.5.1 欢迎界面类 444
    13.5.2 主菜单界面类 446
    13.6 游戏界面相关类的实现 448
    13.6.1 游戏界面框架 449
    13.6.2 界面刷帧线程类 457
    13.6.3 牌图分割类 457
    13.6.4 牌的控制类 459
    13.6.5 出牌规则类 460
    13.7 客户端代理线程 461
    13.8 服务器相关类 464
    13.8.1 服务器主类 464
    13.8.2 服务器代理线程 466
    13.8.3 发牌类 473
    13.8.4 初始化血点类 474
    13.8.5 判断装备牌类 474
    13.8.6 管理玩家距离类 475
    13.9 本章小结 476
    第 14章 益智类游戏—《Wo!Water!》 477
    14.1 游戏背景和功能概述 477
    14.1.1 背景概述 477
    14.1.2 功能介绍 478
    14.2 游戏的策划及准备工作 480
    14.2.1 游戏的策划 480
    14.2.2 安卓平台下游戏开发的准备
    工作 481
    14.3 游戏的架构 483
    14.3.1 各个类的简要介绍 484
    14.3.2 游戏框架简介 486
    14.4 常量及公共类 488
    14.4.1 游戏主控类MainActivity 488
    14.4.2 游戏常量类Constant 490
    14.4.3 游戏常量类
    SourceConstant 491
    14.5 界面相关类 494
    14.5.1 游戏界面管理类ViewManager 494
    14.5.2 主选关界面类BNMainSelectView 498
    14.5.3 游戏界面类BNGameView 502
    14.5.4 纹理矩形绘制类RectForDraw 512
    14.5.5 屏幕自适应相关类 515
    14.6 线程相关类 517
    14.6.1 物理刷帧线程类PhysicsThread 517
    14.6.2 数据计算线程类
    SaveThread 519
    14.6.3 火焰线程类
    FireUpdateThread 520
    14.7 水粒子的相关类 521
    14.7.1 水粒子物理封装类
    WaterObject 521
    14.7.2 水纹理生成类
    WaterForDraw 522
    14.7.3 计算类PhyCaulate 525
    14.8 游戏中着色器的开发 528
    14.8.1 纹理的着色器 528
    14.8.2 水纹理的着色器 529
    14.8.3 加载界面闪屏纹理的
    着色器 530
    14.8.4 烟火的纹理着色器 531
    14.9 游戏地图数据文件介绍 531
    14.10 游戏的优化及改进 533
    第 15章 3D塔防类游戏—
    《三国塔防》 534
    15.1 背景和功能概述 534
    15.1.1 游戏背景概述 534
    15.1.2 游戏功能简介 534
    15.2 游戏的策划及准备工作 538
    15.2.1 游戏的策划 538
    15.2.2 手机平台下游戏的准备
    工作 538
    15.3 游戏的架构 542
    15.3.1 各个类的简要介绍 542
    15.3.2 游戏框架简介 545
    15.4 公共类TaFang_Activity 546
    15.5 界面显示类 548
    15.5.1 显示界面类
    GlSurfaceView 549
    15.5.2 界面抽象父类TFAbstractView 549
    15.5.3 加载资源界面类
    LoadView 550
    15.5.4 选关设置界面类
    SelectView 551
    15.5.5 武器界面类WeaponView 553
    15.6 场景及相关类 553
    15.6.1 总场景管理类AllSence 554
    15.6.2 关卡场景类SenceLevel1 555
    15.6.3 水面类Water 556
    15.6.4 场景数据管理类
    SenceData 556
    15.7 辅助类 557
    15.7.1 按钮管理类MenuButton 557
    15.7.2 单个怪物类
    SingleMonster1 558
    15.7.3 单个炮弹类SingleBullet1 561
    15.7.4 标志板管理类
    BoardGroup 563
    15.7.5 炮台管理类PaoGroup 564
    15.8 工具线程类 565
    15.8.1 obj模型加载类LoadUtil 565
    15.8.2 交点坐标计算类IntersectantUtil 567
    15.8.3 纹理管理器类TextureManager 567
    15.8.4 水流动线程类
    WaterThread 568
    15.8.5 怪物炮弹控制线程类
    MonPaoThread 569
    15.9 粒子系统与着色器的开发 569
    15.9.1 粒子系统的开发 570
    15.9.2 着色器的开发 571
    15.10 游戏的优化及改进 573
    15.11 本章小结 574
    第 16章 策略游戏—《大富翁》 575
    16.1 游戏的背景和功能概述 575
    16.1.1 背景概述 575
    16.1.2 功能简介 575
    16.2 游戏的策划及准备工作 578
    16.2.1 游戏的策划 578
    16.2.2 安卓平台下游戏开发的准备
    工作 579
    16.3 游戏的架构 585
    16.3.1 程序结构的简要介绍 585
    16.3.2 游戏各个类的简要介绍 585
    16.4 地图设计器的开发 587
    16.4.1 地图设计器的开发设计
    思路 587
    16.4.2 地图设计器的框架介绍 588
    16.4.3 底层地图设计器的开发
    步骤 588
    16.5 Activity和游戏工具类的开发 592
    16.5.1 主控制类—ZActivity的开发 592
    16.5.2 常量工具类ConstantUtil的
    开发 594
    16.5.3 日期管理类DateUtil的
    开发 595
    16.5.4 图片管理类PicManager的
    开发 596
    16.6 数据存取模块的开发 597
    16.6.1 地图层信息的封装类 597
    16.6.2 数据存取相关类的
    介绍 600
    16.7 人物角色模块的开发 604
    16.7.1 Figure类的代码框架 604
    16.7.2 Dice类的代码框架 606
    16.7.3 FigureGoThread类的
    代码框架 607
    16.8 表示层界面模块的开发 612
    16.8.1 游戏界面GameView的框架
    介绍 612
    16.8.2 游戏界面绘制方法onDraw的
    介绍 614
    16.8.3 游戏界面屏幕监听方法onTouch的介绍 618
    16.8.4 后台线程GameViewThread的
    开发 619
    16.9 地图中可遇实体模块的开发 620
    16.9.1 绘制类—MyDrawable的
    开发 620
    16.9.2 抽象类—
    MyMeetableDrawable的
    开发 622
    16.9.3 土地类—
    GroundDrawable类 623
    16.9.4 可遇实体对象的调用
    流程 624
    16.10 管理面板模块的开发 625
    16.11 游戏的优化及改进 627
    第 17章 休闲类游戏—《切切乐》 629
    17.1 游戏的背景和功能概述 629
    17.1.1 背景描述 629
    17.1.2 功能介绍 630
    17.2 游戏的策划及准备工作 633
    17.2.1 游戏的策划 633
    17.2.2 手机平台下游戏的准备
    工作 633
    17.3 游戏的架构 635
    17.3.1 各个类的简要介绍 635
    17.3.2 游戏框架简介 637
    17.4 显示界面类 638
    17.5 辅助工具类 644
    17.5.1 工具类 645
    17.5.2 辅助类 648
    17.6 绘制相关类 658
    17.6.1 BNObject绘制类的
    开发 658
    17.6.2 BNPolyObject绘制类的
    开发 662
    17.7 雪花粒子系统的开发 663
    17.7.1 基本原理 664
    17.7.2 开发步骤 664
    17.8 本游戏中的着色器 666
    17.9 游戏的优化及改进 668
    17.10 本章小结 669
    第 18章 休闲类游戏—《3D冰球》 670
    18.1 游戏的背景和功能概述 670
    18.1.1 背景描述 670
    18.1.2 功能介绍 671
    18.2 游戏的策划及准备工作 674
    18.2.1 游戏的策划 674
    18.2.2 手机平台下游戏的准备
    工作 675
    18.3 游戏的架构 677
    18.3.1 各个类的简要介绍 677
    18.3.2 游戏框架简介 680
    18.4 显示界面类 681
    18.4.1 显示界面MySurfaceView
    类 681
    18.4.2 加载界面LoadingView类 682
    18.4.3 主界面MainView类 683



























    18.4.4 转场界面TransitionView
    类 685
    18.4.5 游戏界面GameView类 686
    18.5 辅助工具类 689
    18.5.1 工具类 689
    18.5.2 辅助类 693
    18.5.3 线程类 699
    18.6 绘制相关类 702
    18.6.1 3D模型绘制类的开发 702
    18.6.2 BN3DObject绘制类的开发 704
    18.7 粒子系统的开发 705
    18.7.1 基本原理 706
    18.7.2 开发步骤 706
    18.8 本游戏中的着色器 708
    18.9 游戏的优化及改进 710
    18.10 本章小结 710
  • 内容简介:
    内 容 提 要
    本书内容分为两大部分:首先讲解了Android游戏开发核心技术,主要包括Android游戏开发的前台渲染、交互式通信、数据存储和传感器、网络编程、游戏背后的数学与物理、游戏地图开发、游戏开发小秘技、JBox2D物理引擎、3D应用开发基础等;接下来介绍Android游戏开发实战综合案例,包括多种流行的游戏类型,如滚屏动作类游戏—《坦克大战》、网络游戏—《风火三国》、益智类游戏—《Wo!Water!》、3D塔防类游戏—《三国塔防》、策略游戏—《大富翁》、休闲类游戏—《切切乐》、休闲类游戏—《3D冰球》等。
    本书适合Android初学者、游戏开发人员阅读,也可作为高校相关专业的学习用书或培训学校的教材。
  • 作者简介:
    吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为OpenGL ES、WebGL、Vulkan及手机游戏。同时为手机游戏、移动3D应用独立软件开发工程师,并兼任百纳科技Java培训中心首xi培训师。近十年来为数十家企业培养了上千名软件开发人员,曾编写过《Cocos2d-X案例开发大全》《Cocos2d-X 3.0游戏开发实战详解》《Cocos2d-X 3.x 游戏案例开发大全》《OpenGL ES 3.x游戏开发(上下卷)》《H5和WebGL 3D开发实战详解》等多本畅销技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列的Android应用程序与3D游戏。
  • 目录:
    目 录

    第 1章 Android平台简介 1
    1.1 Android的来龙去脉 1
    1.2 掀起Android的盖头来 1
    1.2.1 选择Android的理由 1
    1.2.2 Android的应用程序框架 2
    1.3 Android开发环境的搭建 4
    1.3.1 Android Studio和Android SDK的下载 4
    1.3.2 Android Studio和Android SDK的安装 4
    1.3.3 开发第 一个Android程序 8
    1.3.4 Android程序的监控与调试 13
    1.4 已有Android Studio项目的导入与
    运行 14
    1.5 本章小结 16
    第 2章 Android游戏开发中的前台渲染 17
    2.1 创建Android用户界面 17
    2.1.1 布局管理 17
    2.1.2 常用控件及其事件处理 22
    2.2 图形与动画在Android中的实现 24
    2.2.1 简单图形的绘制 24
    2.2.2 贴图的艺术 25
    2.2.3 剪裁功能 27
    2.2.4 自定义动画的播放 30
    2.3 Android平台下的多媒体开发 32
    2.3.1 音频的播放 32
    2.3.2 视频的播放 35
    2.3.3 Camera图像采集 37
    2.4 本章小结 39
    第3章 Android游戏开发中的交互式
    通信 40
    3.1 Android应用程序的基本组件 40
    3.1.1 Activity组件 40
    3.1.2 Service组件 42
    3.1.3 Broadcast Receiver组件 42
    3.1.4 Content Provider组件 43
    3.1.5 AndroidManifest.xml文件
    简介 44
    3.2 应用程序的内部通信 46
    3.2.1 消息的处理者—Handler类简介 47
    3.2.2 使用Handler进行内部通信 48
    3.3 应用程序组件之间的通信 49
    3.3.1 Intent类简介 50
    3.3.2 应用程序组件—IntentFilter类简介 51
    3.3.3 示例1:与Android系统组件通信 52
    3.3.4 示例2:应用程序组件间通信示例Activity部分的开发 53
    3.3.5 示例3:应用程序组件间通信示例Service部分的开发 55
    3.4 本章小结 57
    第4章 Android游戏开发中的数据存储和传感器 58
    4.1 在Android平台上实现数据存储 58
    4.1.1 私有文件夹文件的写入与
    读取 58
    4.1.2 读取Resources和Assets中的文件 61
    4.1.3 轻量级数据库SQLite简介 63
    4.1.4 SQLite的使用示例 65
    4.1.5 数据共享者—Content Provider的使用 68
    4.1.6 简单的数据存储—Preferences的使用 71
    4.2 Android平台下传感器应用的开发 73
    4.2.1 基本开发步骤 74
    4.2.2 光传感器 76
    4.2.3 温度传感器 77
    4.2.4 接近传感器 79
    4.2.5 加速度传感器 80
    4.2.6 磁场传感器 82
    4.2.7 姿态传感器 84
    4.2.8 陀螺仪传感器 87
    4.2.9 加速度传感器综合案例 88
    4.2.10 传感器的坐标轴问题 91
    4.3 本章小结 94
    第5章 Android游戏开发中的网络编程 95
    5.1 基于Socket套接字的网络编程 95
    5.2 基于HTTP的网络编程 98
    5.2.1 通过URL获取网络资源 98
    5.2.2 在Android中解析XML 100
    5.3 蓝牙通信 101
    5.3.1 基础知识 101
    5.3.2 简单的案例 101
    5.4 简单的多用户并发网络游戏编程
    架构 112
    5.4.1 基本知识 112
    5.4.2 双人联网操控飞机案例 114
    5.5 本章小结 123
    第6章 不一样的游戏,一样的精彩应用 125
    6.1 射击类游戏 125
    6.1.1 游戏玩法 125
    6.1.2 视觉效果 125
    6.1.3 游戏内容设计 126
    6.2 竞速类游戏 127
    6.2.1 游戏玩法 127
    6.2.2 视觉效果 127
    6.2.3 游戏内容设计 127
    6.3 益智类游戏 128
    6.3.1 游戏玩法 128
    6.3.2 视觉效果 129
    6.3.3 游戏内容设计 129
    6.4 角色扮演游戏 129
    6.4.1 游戏玩法 129
    6.4.2 视觉效果 130
    6.4.3 游戏内容设计 131
    6.5 闯关动作类游戏 131
    6.5.1 游戏玩法 132
    6.5.2 视觉效果 132
    6.5.3 游戏内容设计 132
    6.6 冒险游戏 132
    6.6.1 游戏玩法 133
    6.6.2 视觉效果 133
    6.6.3 游戏内容设计 134
    6.7 策略游戏 134
    6.7.1 游戏玩法 134
    6.7.2 视觉效果 135
    6.7.3 游戏内容设计 135
    6.8 养成类游戏 135
    6.8.1 游戏玩法 135
    6.8.2 视觉效果 136
    6.8.3 游戏内容设计 136
    6.9 经营类游戏 137
    6.9.1 游戏玩法 137
    6.9.2 视觉效果 137
    6.9.3 游戏内容设计 138
    6.10 体育类游戏 138
    6.10.1 游戏玩法 138
    6.10.2 视觉效果 139
    6.10.3 游戏内容设计 139
    6.11 本章小结 139
    第7章 游戏背后的数学与物理 140
    7.1 编程中经常用到的数理知识 140
    7.1.1 数学方面 140
    7.1.2 物理方面 142
    7.2 碰撞检测技术 143
    7.2.1 碰撞检测技术基础 143
    7.2.2 游戏中实体对象之间的碰撞检测 144
    7.2.3 游戏实体对象与环境之间的碰撞检测 146
    7.2.4 穿透效应问题 147
    7.3 必知必会的计算几何 148
    7.3.1 GeoLib库中常用基础类的
    介绍 148
    7.3.2 无孔多边形的相关知识 156
    7.3.3 有孔多边形的相关知识 159
    7.3.4 有孔多边形案例 162
    7.3.5 显示凸壳案例 166
    7.3.6 多边形切分案例 169
    7.3.7 显示包围框以及多边形的
    矩形组合案例 173
    7.3.8 旋转与凸子区域案例 175
    7.3.9 平滑与计算最短距离案例 177
    7.3.10 多边形缩放与不重叠案例 178
    7.3.11 求多边形对称案例 180
    7.3.12 多边形集合运算案例 181
    7.4 本章小结 183
    第8章 游戏地图必知必会 184
    8.1 两种不同单元形状的地图 184
    8.1.1 正方形单元地图 184
    8.1.2 正方形单元地图案例 186
    8.1.3 正六边形单元地图 187
    8.1.4 正六边形单元地图案例 189
    8.1.5 正方形单元和正六边形单元地图的比较 191
    8.2 正六边形单元地图的路径搜索 191
    8.2.1 路径搜索示例基本框架的
    搭建 191
    8.2.2 深度优先路径搜索DFS 197
    8.2.3 广度优先路径搜索 199
    8.2.4 路径搜索算法—Dijkstra
    算法 201
    8.2.5 用A*算法优化算法 204
    8.3 正六边形单元地图的网格定位 206
    8.3.1 基本知识 206
    8.3.2 简单的案例 206
    8.4 地图编辑器与关卡设计 208
    8.4.1 关卡地图的重要性 208
    8.4.2 图片分割界面的实现 210
    8.4.3 地图设计界面的实现 214
    8.5 多分辨率屏幕的自适应 219
    8.5.1 非等比例缩放 219
    8.5.2 非等比例缩放案例 220
    8.5.3 等比例缩放并剪裁 223
    8.5.4 等比例缩放并剪裁案例 224
    8.5.5 等比例缩放并留白 225
    8.5.6 等比例缩放并留白案例 226
    8.6 本章小结 227
    第9章 游戏开发小秘技 228
    9.1 有限状态机 228
    9.1.1 什么是有限状态机 228
    9.1.2 有限状态机的简单实现 229
    9.1.3 有限状态机的OO实现 233
    9.2 游戏中的模糊逻辑 235
    9.2.1 模糊的才是真实的 235
    9.2.2 如何在Android中将游戏
    模糊化 236
    9.3 游戏的基本优化技巧 238
    9.3.1 代码上的小艺术 238
    9.3.2 Android中的查找表技术 239
    9.3.3 游戏的感觉和性能问题 241
    9.4 多点触控技术的使用 242
    9.4.1 基本知识 242
    9.4.2 一个简单的案例 243
    9.5 本章小结 247
    第 10章 JBox2D物理引擎 248
    10.1 物理引擎很重要 248
    10.1.1 什么是物理引擎 248
    10.1.2 常见的物理引擎 248
    10.2 2D的王者JBox2D 251
    10.2.1 基本的物理学概念 251
    10.2.2 JBox2D中常用类的介绍 252
    10.3 木块金字塔被撞击案例 262
    10.3.1 案例运行效果 262
    10.3.2 案例的基本框架结构 263
    10.3.3 常量类—Constant 263
    10.3.4 物体类—MyBody 264
    10.3.5 圆形物体类—
    MyCircleColor 264
    10.3.6 矩形物体类—
    MyRectColor 265
    10.3.7 生成物理形状工具类—
    Box2DUtil 266
    10.3.8 主控制类—
    MyBox2dActivity 267
    10.3.9 显示界面类—
    GameView 269
    10.3.10 绘制线程类—
    DrawThread 270
    10.4 简易打砖块案例 271
    10.4.1 案例运行效果 271
    10.4.2 需要了解的类 271
    10.4.3 碰撞监听器—
    MyContactListener类 274
    10.4.4 碰撞检测工具类—
    BodySearchUtil 275
    10.4.5 绘制线程类—
    DrawThread 275
    10.5 物体无碰撞下落案例 276
    10.5.1 案例运行效果 276
    10.5.2 碰撞过滤器—
    ContactFilter类 277
    10.5.3 碰撞过滤类的开发 277
    10.5.4 多边形刚体类—
    MyPolygonColor 278
    10.5.5 生成刚体性状的工具类—
    Box2DUtil 279
    10.5.6 主控制类—
    MyBox2dActivity 279
    10.5.7 显示界面类—
    GameView 281
    10.6 关节—Joint 282
    10.6.1 关节定义—JointDef类 282
    10.6.2 距离关节描述—
    DistanceJointDef类 282
    10.6.3 距离关节案例—
    小球下摆 283
    10.6.4 旋转关节描述—
    RevoluteJointDef类 286
    10.6.5 旋转关节案例—转动的
    风扇与跷跷板 287
    10.6.6 鼠标关节描述—
    MouseJointDef类 290
    10.6.7 鼠标关节案例—
    物体下落 290
    10.6.8 移动关节描述—
    PrismaticJointDef类 294
    10.6.9 移动关节案例—定向
    移动的木块 295
    10.6.10 齿轮关节描述—
    GearJointDef类 297
    10.6.11 齿轮关节案例—转动的
    齿轮 298
    10.6.12 焊接关节描述—
    WeldJointDef类 301
    10.6.13 焊接关节案例—
    有弹性的木板 301
    10.6.14 滑轮关节描述—
    PulleyJointDef类 304
    10.6.15 滑轮关节案例—移动的
    木块 304
    10.6.16 车轮关节描述—
    WheelJointDef类 306
    10.6.17 车轮关节案例—
    运动的小车 307
    10.6.18 绳索关节描述—
    RopeJointDef类 309
    10.6.19 绳索关节案例—掉落的
    糖果 309
    10.7 模拟传送带案例 317
    10.7.1 案例运行效果 317
    10.7.2 碰撞监听器—
    MyContactListener类 318
    10.7.3 主控制类—
    MyBox2DActivity 320
    10.7.4 线程类—DrawThread 321
    10.8 光线投射案例 322
    10.8.1 案例运行效果 322
    10.8.2 RayCastInput类与RayCastOutput类 322
    10.8.3 光线检测类—
    MyRayCast 323
    10.8.4 主控制类—
    MyBox2dActivity 324
    10.8.5 显示界面类—
    GameView 325
    10.9 模拟爆炸案例 327
    10.9.1 案例运行效果 327
    10.9.2 光线投射回调接口—
    RayCastCallback 327
    10.9.3 自身的光线投射回调类—
    RayCastClosestCallback 328
    10.9.4 主控制类—
    MyBox2dActivity 328
    10.10 流体模拟 329
    10.10.1 流体模拟的相关知识 330
    10.10.2 波浪制造机案例 333
    10.10.3 软体案例 336
    10.10.4 固体案例 337
    10.10.5 粉尘案例 339
    10.11 本章小结 340
    第 11章 3D应用开发基础 341
    11.1 OpenGL和OpenGL ES简介 341
    11.2 3D基本知识 343
    11.3 OpenGL ES 2.0 344
    11.3.1 OpenGL ES 2.0的渲染
    管线 345
    11.3.2 不同的绘制方式 348
    11.3.3 初识OpenGL ES 2.0应用
    程序 350
    11.3.4 着色语言 355
    11.3.5 正交投影 357
    11.3.6 透视投影 361
    11.3.7 光照的3种组成元素 364
    11.3.8 定向光与定位光 366
    11.3.9 点法向量和面法向量 371
    11.3.10 纹理映射 372
    11.4 利用OpenGL ES 2.0绘制真实的
    流体 377
    11.4.1 流体绘制的策略 377
    11.4.2 一个简单的案例 379
    11.4.3 流体计算流水线回顾 388
    11.5 OpenGL ES 3.x 389
    11.5.1 程序升级的要点 390
    11.5.2 一个简单的案例 390
    11.6 用OpenGL ES实现2D绘制 392
    11.7 本章小结 394
    第 12章 滚屏动作类游戏—
    《坦克大战》 395
    12.1 游戏的背景及功能概述 395
    12.1.1 背景概述 395
    12.1.2 功能简介 395
    12.2 游戏的策划及准备工作 397
    12.2.1 游戏的策划 397
    12.2.2 安卓平台下游戏开发的准备
    工作 398
    12.3 游戏的架构 401
    12.3.1 程序结构的简要介绍 401
    12.3.2 服务器端的简要介绍 401
    12.4 服务器端的开发 402
    12.4.1 数据类的开发 402
    12.4.2 服务线程的开发 403
    12.4.3 碰撞检测类的开发 405
    12.4.4 动作执行类的开发 407
    12.4.5 状态更新类的开发 410
    12.5 Android端的开发 411
    12.5.1 数据类的开发 411
    12.5.2 TankActivity类的开发 413
    12.5.3 MySurfaceView类的开发 415
    12.5.4 菜单类的开发 419
    12.5.5 杂项类的开发 421
    12.5.6 物体绘制类的开发 425
    12.6 辅助工具类 426
    12.6.1 摇杆工具类的开发 426
    12.6.2 数据接收工具类的开发 428
    12.6.3 数据发送工具类的开发 429
    12.7 地图设计器 431
    12.8 游戏的优化及改进 432
    第 13章 网络游戏开发—《风火三国》网络
    对战游戏 433
    13.1 游戏背景及功能概述 433
    13.1.1 背景概述 433
    13.1.2 功能简介 434
    13.2 游戏策划及准备工作 436
    13.2.1 游戏的策划 436
    13.2.2 Android平台下游戏开发的
    准备工作 436
    13.3 游戏的框架 437
    13.3.1 各个类的简要介绍 437
    13.3.2 游戏的框架简介 438
    13.4 共有类SanGuoActivity的实现 439
    13.5 辅助界面相关类的实现 444
    13.5.1 欢迎界面类 444
    13.5.2 主菜单界面类 446
    13.6 游戏界面相关类的实现 448
    13.6.1 游戏界面框架 449
    13.6.2 界面刷帧线程类 457
    13.6.3 牌图分割类 457
    13.6.4 牌的控制类 459
    13.6.5 出牌规则类 460
    13.7 客户端代理线程 461
    13.8 服务器相关类 464
    13.8.1 服务器主类 464
    13.8.2 服务器代理线程 466
    13.8.3 发牌类 473
    13.8.4 初始化血点类 474
    13.8.5 判断装备牌类 474
    13.8.6 管理玩家距离类 475
    13.9 本章小结 476
    第 14章 益智类游戏—《Wo!Water!》 477
    14.1 游戏背景和功能概述 477
    14.1.1 背景概述 477
    14.1.2 功能介绍 478
    14.2 游戏的策划及准备工作 480
    14.2.1 游戏的策划 480
    14.2.2 安卓平台下游戏开发的准备
    工作 481
    14.3 游戏的架构 483
    14.3.1 各个类的简要介绍 484
    14.3.2 游戏框架简介 486
    14.4 常量及公共类 488
    14.4.1 游戏主控类MainActivity 488
    14.4.2 游戏常量类Constant 490
    14.4.3 游戏常量类
    SourceConstant 491
    14.5 界面相关类 494
    14.5.1 游戏界面管理类ViewManager 494
    14.5.2 主选关界面类BNMainSelectView 498
    14.5.3 游戏界面类BNGameView 502
    14.5.4 纹理矩形绘制类RectForDraw 512
    14.5.5 屏幕自适应相关类 515
    14.6 线程相关类 517
    14.6.1 物理刷帧线程类PhysicsThread 517
    14.6.2 数据计算线程类
    SaveThread 519
    14.6.3 火焰线程类
    FireUpdateThread 520
    14.7 水粒子的相关类 521
    14.7.1 水粒子物理封装类
    WaterObject 521
    14.7.2 水纹理生成类
    WaterForDraw 522
    14.7.3 计算类PhyCaulate 525
    14.8 游戏中着色器的开发 528
    14.8.1 纹理的着色器 528
    14.8.2 水纹理的着色器 529
    14.8.3 加载界面闪屏纹理的
    着色器 530
    14.8.4 烟火的纹理着色器 531
    14.9 游戏地图数据文件介绍 531
    14.10 游戏的优化及改进 533
    第 15章 3D塔防类游戏—
    《三国塔防》 534
    15.1 背景和功能概述 534
    15.1.1 游戏背景概述 534
    15.1.2 游戏功能简介 534
    15.2 游戏的策划及准备工作 538
    15.2.1 游戏的策划 538
    15.2.2 手机平台下游戏的准备
    工作 538
    15.3 游戏的架构 542
    15.3.1 各个类的简要介绍 542
    15.3.2 游戏框架简介 545
    15.4 公共类TaFang_Activity 546
    15.5 界面显示类 548
    15.5.1 显示界面类
    GlSurfaceView 549
    15.5.2 界面抽象父类TFAbstractView 549
    15.5.3 加载资源界面类
    LoadView 550
    15.5.4 选关设置界面类
    SelectView 551
    15.5.5 武器界面类WeaponView 553
    15.6 场景及相关类 553
    15.6.1 总场景管理类AllSence 554
    15.6.2 关卡场景类SenceLevel1 555
    15.6.3 水面类Water 556
    15.6.4 场景数据管理类
    SenceData 556
    15.7 辅助类 557
    15.7.1 按钮管理类MenuButton 557
    15.7.2 单个怪物类
    SingleMonster1 558
    15.7.3 单个炮弹类SingleBullet1 561
    15.7.4 标志板管理类
    BoardGroup 563
    15.7.5 炮台管理类PaoGroup 564
    15.8 工具线程类 565
    15.8.1 obj模型加载类LoadUtil 565
    15.8.2 交点坐标计算类IntersectantUtil 567
    15.8.3 纹理管理器类TextureManager 567
    15.8.4 水流动线程类
    WaterThread 568
    15.8.5 怪物炮弹控制线程类
    MonPaoThread 569
    15.9 粒子系统与着色器的开发 569
    15.9.1 粒子系统的开发 570
    15.9.2 着色器的开发 571
    15.10 游戏的优化及改进 573
    15.11 本章小结 574
    第 16章 策略游戏—《大富翁》 575
    16.1 游戏的背景和功能概述 575
    16.1.1 背景概述 575
    16.1.2 功能简介 575
    16.2 游戏的策划及准备工作 578
    16.2.1 游戏的策划 578
    16.2.2 安卓平台下游戏开发的准备
    工作 579
    16.3 游戏的架构 585
    16.3.1 程序结构的简要介绍 585
    16.3.2 游戏各个类的简要介绍 585
    16.4 地图设计器的开发 587
    16.4.1 地图设计器的开发设计
    思路 587
    16.4.2 地图设计器的框架介绍 588
    16.4.3 底层地图设计器的开发
    步骤 588
    16.5 Activity和游戏工具类的开发 592
    16.5.1 主控制类—ZActivity的开发 592
    16.5.2 常量工具类ConstantUtil的
    开发 594
    16.5.3 日期管理类DateUtil的
    开发 595
    16.5.4 图片管理类PicManager的
    开发 596
    16.6 数据存取模块的开发 597
    16.6.1 地图层信息的封装类 597
    16.6.2 数据存取相关类的
    介绍 600
    16.7 人物角色模块的开发 604
    16.7.1 Figure类的代码框架 604
    16.7.2 Dice类的代码框架 606
    16.7.3 FigureGoThread类的
    代码框架 607
    16.8 表示层界面模块的开发 612
    16.8.1 游戏界面GameView的框架
    介绍 612
    16.8.2 游戏界面绘制方法onDraw的
    介绍 614
    16.8.3 游戏界面屏幕监听方法onTouch的介绍 618
    16.8.4 后台线程GameViewThread的
    开发 619
    16.9 地图中可遇实体模块的开发 620
    16.9.1 绘制类—MyDrawable的
    开发 620
    16.9.2 抽象类—
    MyMeetableDrawable的
    开发 622
    16.9.3 土地类—
    GroundDrawable类 623
    16.9.4 可遇实体对象的调用
    流程 624
    16.10 管理面板模块的开发 625
    16.11 游戏的优化及改进 627
    第 17章 休闲类游戏—《切切乐》 629
    17.1 游戏的背景和功能概述 629
    17.1.1 背景描述 629
    17.1.2 功能介绍 630
    17.2 游戏的策划及准备工作 633
    17.2.1 游戏的策划 633
    17.2.2 手机平台下游戏的准备
    工作 633
    17.3 游戏的架构 635
    17.3.1 各个类的简要介绍 635
    17.3.2 游戏框架简介 637
    17.4 显示界面类 638
    17.5 辅助工具类 644
    17.5.1 工具类 645
    17.5.2 辅助类 648
    17.6 绘制相关类 658
    17.6.1 BNObject绘制类的
    开发 658
    17.6.2 BNPolyObject绘制类的
    开发 662
    17.7 雪花粒子系统的开发 663
    17.7.1 基本原理 664
    17.7.2 开发步骤 664
    17.8 本游戏中的着色器 666
    17.9 游戏的优化及改进 668
    17.10 本章小结 669
    第 18章 休闲类游戏—《3D冰球》 670
    18.1 游戏的背景和功能概述 670
    18.1.1 背景描述 670
    18.1.2 功能介绍 671
    18.2 游戏的策划及准备工作 674
    18.2.1 游戏的策划 674
    18.2.2 手机平台下游戏的准备
    工作 675
    18.3 游戏的架构 677
    18.3.1 各个类的简要介绍 677
    18.3.2 游戏框架简介 680
    18.4 显示界面类 681
    18.4.1 显示界面MySurfaceView
    类 681
    18.4.2 加载界面LoadingView类 682
    18.4.3 主界面MainView类 683



























    18.4.4 转场界面TransitionView
    类 685
    18.4.5 游戏界面GameView类 686
    18.5 辅助工具类 689
    18.5.1 工具类 689
    18.5.2 辅助类 693
    18.5.3 线程类 699
    18.6 绘制相关类 702
    18.6.1 3D模型绘制类的开发 702
    18.6.2 BN3DObject绘制类的开发 704
    18.7 粒子系统的开发 705
    18.7.1 基本原理 706
    18.7.2 开发步骤 706
    18.8 本游戏中的着色器 708
    18.9 游戏的优化及改进 710
    18.10 本章小结 710
查看详情
您可能感兴趣 / 更多
Android 游戏案例开发大全 第4版
Animate 2022二维动画制作案例教程(全视频微课版)
董佳佳、程远、金洪宇
Android 游戏案例开发大全 第4版
Android性能优化入门与实战
张世欣(拭心)
Android 游戏案例开发大全 第4版
Android图形显示系统
李先儒
Android 游戏案例开发大全 第4版
Animate CC 动画制作案例教程(第2版)
刘鹏程
Android 游戏案例开发大全 第4版
Android积木式编程开发:AppInventor2018离线中文版(第2版)
刘载兴、张燕燕 编
Android 游戏案例开发大全 第4版
Anisha Accidental Detective
Serena Patel 著;Emma McCann 绘
Android 游戏案例开发大全 第4版
Android自动化测试实战:Python+Appium +unittest
Storm 梁培峰
Android 游戏案例开发大全 第4版
AnEssayonthePrincipleofPopulationandOthe
Malthus, Thomas
Android 游戏案例开发大全 第4版
Android移动应用基础教程(Android Studio)(第3版)
黑马程序员
Android 游戏案例开发大全 第4版
Ansys Workbench 2022中文版有限元分析从入门到精通
CAD/CAM/CAE技术联盟
Android 游戏案例开发大全 第4版
Animate 2022中文版入门与提高
胡仁喜、王昌盛、李华
Android 游戏案例开发大全 第4版
Ansys Fluent中文版流场分析从入门到精通
曾建邦 单丰武
系列丛书 / 更多
Android 游戏案例开发大全 第4版
Animate 2022二维动画制作案例教程(全视频微课版)
董佳佳、程远、金洪宇
Android 游戏案例开发大全 第4版
Android性能优化入门与实战
张世欣(拭心)
Android 游戏案例开发大全 第4版
Android图形显示系统
李先儒
Android 游戏案例开发大全 第4版
Animate CC 动画制作案例教程(第2版)
刘鹏程
Android 游戏案例开发大全 第4版
Android积木式编程开发:AppInventor2018离线中文版(第2版)
刘载兴、张燕燕 编
Android 游戏案例开发大全 第4版
Anisha Accidental Detective
Serena Patel 著;Emma McCann 绘
Android 游戏案例开发大全 第4版
Android自动化测试实战:Python+Appium +unittest
Storm 梁培峰
Android 游戏案例开发大全 第4版
AnEssayonthePrincipleofPopulationandOthe
Malthus, Thomas
Android 游戏案例开发大全 第4版
Android移动应用基础教程(Android Studio)(第3版)
黑马程序员
Android 游戏案例开发大全 第4版
Ansys Workbench 2022中文版有限元分析从入门到精通
CAD/CAM/CAE技术联盟
Android 游戏案例开发大全 第4版
Animate 2022中文版入门与提高
胡仁喜、王昌盛、李华
Android 游戏案例开发大全 第4版
Ansys Fluent中文版流场分析从入门到精通
曾建邦 单丰武
相关图书 / 更多
Android 游戏案例开发大全 第4版
Animate 2022二维动画制作案例教程(全视频微课版)
董佳佳、程远、金洪宇
Android 游戏案例开发大全 第4版
Android性能优化入门与实战
张世欣(拭心)
Android 游戏案例开发大全 第4版
Android图形显示系统
李先儒
Android 游戏案例开发大全 第4版
Animate CC 动画制作案例教程(第2版)
刘鹏程
Android 游戏案例开发大全 第4版
Android积木式编程开发:AppInventor2018离线中文版(第2版)
刘载兴、张燕燕 编
Android 游戏案例开发大全 第4版
Anisha Accidental Detective
Serena Patel 著;Emma McCann 绘
Android 游戏案例开发大全 第4版
Android自动化测试实战:Python+Appium +unittest
Storm 梁培峰
Android 游戏案例开发大全 第4版
AnEssayonthePrincipleofPopulationandOthe
Malthus, Thomas
Android 游戏案例开发大全 第4版
Android移动应用基础教程(Android Studio)(第3版)
黑马程序员
Android 游戏案例开发大全 第4版
Ansys Workbench 2022中文版有限元分析从入门到精通
CAD/CAM/CAE技术联盟
Android 游戏案例开发大全 第4版
Animate 2022中文版入门与提高
胡仁喜、王昌盛、李华
Android 游戏案例开发大全 第4版
Ansys Fluent中文版流场分析从入门到精通
曾建邦 单丰武