2023-11-13
android游戏编程入门
Android4游戏编程入门《传统》是2012年清华大学出版社出版的一本书,作者是(美)策希纳(Zechner,M.),格林没有(美)(Green,R.)。
第1章 Android,后来居上 1
1.1 Android介绍 1
1.2 版本瓦解 3
1.3 谷歌的角色 3
1.3.1 Android开源项目 3
1.3.2 Android Market 4
1.3.3 争霸赛、设备种植方案
和谷歌I/O 4
1.4 系统架构功能Android 5
1.4.1 核心 6
1.4.2 操作库和Dalvik虚拟机 6
1.4.3 系统库 7
1.4.4 应用程序架构 8
1.5 软件开发工具箱 8
1.6 开发人员小区 9
1.7 设备,设备,设备 9
1.7.1 硬件 9
1.7.2 机器的范畴 10
1.8 所有设备之间的适应 15
1.9 不同手机游戏 15
1.9.1 人手一台游戏机 16
1.9.2 随时上网 16
1.9.3 一般用户与游戏迷 17
1.9.4 市场很大,开发人员很少 17
1.10 总结 18
第2章 Android SDK逐渐 19
2.1 构建开发环境 19
2.1.1 组装JDK 20
2.1.2 组装Android SDK 20
2.1.3 组装Eclipse 21
2.1.4 组装ADT Eclipse软件 22
2.1.5 Eclipse浏览 23
2.1.6 一些易于使用的Eclipse快捷键 24
2.2 在Android条件下,Hello World 25
2.2.1 建立项目 25
2.2.2 进一步分析项目 26
2.2.3 编写应用程序编码 27
2.3 Android的操作和调试

程序 29
2.3.1 连接设备 29
2.3.2 创建一个Android虚拟
设备 29
2.3.3 操作应用程序 30
2.3.4 调整应用程序 32
2.3.5 LogCat和DDMS 34
2.3.6 应用ADB 36
2.4 总结 37
第3章 游戏开发基本 39
3.1 游戏种类 39
3.1.1 休闲游戏 40
3.1.2 益智游戏 41
3.1.3 动作和街机游戏 42
3.1.4 塔防游戏 44
3.1.5 创新 45
3.2 游戏设计:笔比编码强 46
3.2.1 游戏的关键体制 46
3.2.2 一个故事和一种风格特征 47
3.2.3 画面和转换 48
3.3 编码:具体细节 52
3.3.1 应用程序和窗口管理 52
3.3.2 键入 53
3.3.3 文档I/O 56
3.3.4 音频 57
3.3.5 图型 60
3.3.6 游戏架构 69
3.4 总结 75
第4章 面对游戏开发Android 77
4.1 定义Android应用程序:
明细文档 77
4.1.1 <manifest>原素 78
4.1.2 <application>原素 79
4.1.3 <activity>原素 80
4.1.4 <uses-permission>原素 82
4.1.5 <uses-feature>原素 83
4.1.6 <uses-sdk>原素 84
4.1.7 Androidid创建了10个简单的流程
游戏项目 84
4.1.8 市场过滤器 86
4.1.9 界定游戏标志 87
4.2 Android API基本 87
4.2.1 建立测试项目 88
4.2.2 活动的生命周期 91
4.2.3 解决输出设备问题 96
4.2.4 文件处理 110
4.2.5 音频编程 116
4.2.6 播放音效 116
4.2.7 歌曲流 119
4.2.8 基本图形编程 122
4.3 良好实践 143
4.4 总结 144
第5章 Android游戏开发架构 145
5.1 制定目标 145
5.2 AndroidFileIO类别 146
5.3 AndroidAudio、AndroidSound
和AndroidMusicccandroid 147
5.4 AndroidInput和Accelerometer-
Handler 152
5.4.1 AccelerometerHandler:手机
哪一面朝上 152
5.4.2 CompassHandler 153
5.4.3 Pool类:重量非常有效 154
5.4.4 KeyboardHandler 156
5.4.5 触摸解决方案 160
5.4.6 AndroidInput:出色的
协调者 167
5.5 AndroidGraphics
AndroidPixmap 169
5.5.1 解决不同屏幕大小的问题

分辨率问题 169
5.5.2 AndroidPixmap:角色的
像素 174
5.5.3 AndroidGraphics:达到
制图要求 174
5.5.4 AndroidFastRenderView 178
5.6 AndroidGame:合拼全部
内容 180
5.7 总结 184
第6章 Mr. Nom侵入Android 185
6.1 建立资源 185
6.2 创建项目 187
6.3 MrNomGame:主要活动 187
6.3.1 资源:资源存储方便 188
6.3.2 设置:跟踪客户的选项设置
和高分榜 189
6.3.3 LoadingScreen:从硬盘获得
资源 191
6.4 主菜单界面 192
6.5 Helpscreen 195
6.6 显示高分榜画面 197
6.6.1 渲染数据 198
6.6.2 画面的完成 199
6.7 抽象 201
6.7.1 抽象Mr. Nom世界:Nom世界:
模型、视图、控制板 201
6.7.2 GameScreen 211
6.8 总结 218
第7章 OpenGL ES介绍 219
7.1 OpenGL ES简介及其关心
缘故 219
7.1.1 编程模型:一个描述 220
7.1.2 投射 221
7.1.3 标准化设备空间和视口 223
7.1.4 矩阵 223
7.1.5 渲染管路 224
7.2 开始前 225
7.3 GLSurfaceView:从2008年逐渐,
事情变得简单了 225
7.4 GLGame:完成游戏插口 228
7.5 制作红色三角形 235
7.5.1 界定视口 235
7.5.2 定义投影矩阵 235
7.5.3 特定三角形 238
7.5.4 综合实例 241
7.6 每个顶点都有特定的色调 243
7.7 纹理映射:快速建立
墙纸 246
7.7.1 纹理坐标 247
7.7.2 提交位图 248
7.7.3 纹路过虑 249
7.7.4 释放纹路 250
7.7.5 有用的代码片段 251
7.7.6 开启纹路 251
7.7.7 综合实例 251
7.7.8 Texture类 253
7.8 检索端点:重量好 255
7.8.1 编码融合 256
7.8.2 Vertices类 258
7.9 透明色混合处理 260
7.10 大量图元:点、线、条
和扇 263
7.11 2D转换:操作模型视图
矩阵 264
7.11.1 全球空间和模型空间 264
7.11.2 再次讨论矩阵 265
7.11.3 移动的第一个应用程序
实例 266
7.11.4 更多转换 270
7.12 能提升 273
7.12.1 测量帧数 273
7.12.2 Android 1.5Hero在平台下的Hero
奇特实例 275
7.12.3 Opengl ES渲染这样
慢的缘故 275
7.12.4 清除不必要的情况
更改 276
7.12.5 减少纹理尺寸代表必须
获得较低的像素 278
7.12.6 Opengl降低 ES/JNI模式
启用 278
7.12.7 关联顶点的概念 279
7.12.8 写完之前 282
7.13 总结 283
第8章 2D游戏编程技巧 285
8.1 写上逐渐 285
8.2 向量 286
8.2.1 应用向量 286
8.2.2 一点三角学知识 288
8.2.3 实现一个向量类 289
8.2.4 一个简单的用法实例 292
8.3 浅谈2D物理定律 296
8.3.1 牛顿和欧拉,永远的
朋友 296
8.3.2 力和品质 297
8.3.3 理论运动 298
8.3.4 运动的完成 299
8.4 2D冲击检测和目标表示 302
8.4.1 界限样子 303
8.4.2 结构边界的外观 304
8.4.3 游戏对象属 306
8.4.4 宽阶段和窄阶段碰撞试验 307
8.4.5 一个详细的例子 313
8.5 2D相机 324
8.5.1 Camera2D类 327
8.5.2 实例 328
8.6 纹路图集 329
8.7 纹理区、精灵及批处理:
隐藏Opengl ES 334
8.7.1 Texturegion 334
8.7.2 Spritebatcher 335
8.8 精灵动漫 343
8.8.1 Animation 344
8.8.2 实例 345
8.9 总结 348
第9章 Super Jumper:一个2D
OpenGL ES游戏 351
9.1 关键游戏体制 351
9.2 背后的故事和风格特征 352
9.3 画面和转换 352
9.4 界定游戏全球 353
9.5 创建资源 355
9.5.1 UI元素 355
9.5.2 点阵字体解决文字问题 356
9.5.3 游戏元素 358
9.5.4 用于救援的线条图集 359
9.5.5 音乐与音效 360
9.6 完成Super Jumper 361
9.6.1 Assets类 361
9.6.2 Settings类 364
9.6.3 主活动 366
9.6.4 Font类 367
9.6.5 GLScreen 369
9.6.6 主菜单界面 369
9.6.7 协助界面 372
9.6.8 高分界面 374
9.6.9 模拟类 377
9.6.10 游戏界面 390
9.6.11 Worldrenderer 397
9.7 是否需要优化 401
9.8 总结 402
第10章 OpenGL ES:进到3D
全球 403
10.1 准备工作 403
10.2 3D中的端点 404
10.2.1 Vertices3:存放3D空间
部位 404
10.2.2 实例 406
10.3 透视投影:越近越多 409
10.4 z-buffer:把混乱变成有序 411
10.4.1 完善最后一个例子 412
10.4.2 混合:背后空无一物 413
10.4.3 z-buffer精度与
z-fighting 416
10.5 界定3D网格 417
10.5.1 正方体:3D中的“Hello
World” 417
10.5.2 一个实例 419
10.6 矩阵和转换 422
10.6.1 矩阵堆栈 423
10.6.2 用矩阵堆栈实现分层
系统 425
10.6.3 木箱太阳系简单
案例 425
10.7 总结 433
第11章 3D编程技巧 435
11.1 准备工作 435

11.2 3D中的向量 436
11.3 OpenGL ES中光照 440
11.3.1 光照的工作机制 440
11.3.2 灯源 441
11.3.3 材料 442
11.3.4 OpenGL ES中如何对光照
计算过程:端点
法线 442
11.3.5 实践 443
11.3.6 Opengl ES中光照
使用一些建议 456
11.4 材料转换(Mipmapping) 456
11.5 简单相机 460
11.5.1 第一人称相机或欧拉
相机 460
11.5.2 欧拉照相机的例子 463
11.5.3 追随相机 468
11.6 载入模块 470
11.6.1 Wavefront OBJ格式 470
11.6.2 OBJ加载器的完成 471
11.6.3 OBJ加载器的应用 475
11.6.4 一些关于载入模型的
提议 475
11.7 3D中一些物理问题 476
11.8 碰撞检测和3D中对象
表达法 477
11.8.1 3D中的边界样子 477
11.8.2 边界球重叠试验 477
11.8.3 Gameobject3DDynamic-
Gameobject3D 478
11.9 总结 479
第12章 Droid Invaders游戏 481
12.1 游戏的关键体制 481
12.2 游戏故事背景与艺术
风格 483
12.3 屏幕与情景转换 483
12.4 界定游戏全球 484
12.5 创建资源 485
12.5.1 操作界面资源 485
12.5.2 游戏资源 486
12.5.3 音效与音乐 488
12.6 开始编敲代码 488
12.7 Assets类 489
12.8 Settings类 492
12.9 主活动 493
12.10 主菜单 494
12.11 游戏设定界面 496
12.12 模拟类 499
12.12.1 Shield类 499
12.12.2 Shot类 500
12.12.3 Ship类 500
12.12.4 Invader类 502
12.12.5 World类 505
12.13 GameScreen 510
12.14 Render类型World 516
12.15 游戏提升 521
12.16 总结 522
第13章 公布游戏 523
13.1 有关检测 523
13.2 变成注册开发人员 524
13.3 给游戏签署APK包 524
13.4 将游戏向Market公布 527
13.4.1 上传资源 527
13.4.2 产品详情 528
13.4.3 公布选项 528
13.4.4 公布 529
13.4.5 品牌推广 529
13.5 开发人员控制台 529
13.6 总结 530
第14章 升阶内容 531
14.1 社交媒体 531
14.2 部位鉴别 531
14.3 多玩家作用 532
14.4 OpenGL ES 2.0以及更多
内容 532
14.5 架构及模块 532
14.6 网络资源 534
14.7 结语 534