第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 SDK的下载 4
1.3.2 Android SDK的配置 5
1.3.3创建并启动模拟器 7
1.3.4第一个Android程序 9
1.3.5 Android程序的监控与调试 13
1.4已有Android项目的导入与运行 15
1.4.1项目的导入 15
1.4.2项目的运行 17
1.5小结 18
第2章 Android游戏开发中的前台渲染 19
2.1创建Android用户界面 19
2.1.1布局管理 19
2.1.2常用控件及其事件处理 24
2.2图形与动画在Android中的实现 26
2.2.1简单图形的绘制 26
2.2.2贴图的艺术 27
2.2.3剪裁功能 29
2.2.4自定义动画的播放 32
2.3 Android平台下的多媒体开发 34
2.3.1音频的播放 34
2.3.2视频的播放 37
2.3.3 Camera图像采集 39
2.4小结 41
第3章 Android游戏开发中的交互式通信 42
3.1 Android应用程序的基本组件 42
3.1.1 Activity组件 42
3.1.2 Service组件 44
3.1.3 Broadcast Receiver组件 44
3.1.4 Content Provider组件 46
3.1.5 AndroidManifest.xml文件简介 46
3.2应用程序的内部通信 49
3.2.1消息的处理者——Handler类简介 49
3.2.2使用Handler进行内部通信 50
3.3应用程序组件之间的通信 52
3.3.1 Intent类简介 52
3.3.2应用程序组件——IntentFilter类简介 53
3.3.3示例1:与Android系统组件通信 54
3.3.4示例2:应用程序组件间通信示例Activity部分的开发 55
3.3.5示例3:应用程序组件间通信示例Service部分的开发 57
3.4小结 59
第4章 Android游戏开发中的数据存储和传感器 60
4.1在Android平台上实现数据存储 60
4.1.1私有文件夹文件的写入与读取 60
4.1.2读取Resources和Assets中的文件 63
4.1.3轻量级数据库SQLite简介 65
4.1.4 SQLite的使用示例 67
4.1.5数据共享者——ContentProvider的使用 70
4.1.6简单的数据存储——Preferences的使用 74
4.2 Android平台下传感器应用的开发 75
4.2.1基本开发步骤 76
4.2.2光传感器 78
4.2.3 温度传感器 80
4.2.4接近传感器 81
4.2.5加速度传感器 83
4.2.6磁场传感器 85
4.2.7姿态传感器 87
4.2.8陀螺仪传感器 90
4.2.9加速度传感器综合案例 91
4.2.10传感器的坐标轴问题 94
4.3小结 97
第5章 Android游戏开发中的网络编程 98
5.1基于Socket套接字的网络编程 98
5.2基于HTTP的网络编程 101
5.2.1通过URL获取网络资源 101
5.2.2在Android中解析XML 103
5.3 Android平台下的百度地图 103
5.3.1准备工作 104
5.3.2简单的案例 107
5.4蓝牙通信 111
5.4.1基础知识 111
5.4.2简单的案例 111
5.5简单的多用户并发网络游戏编程架构 122
5.5.1基本知识 122
5.5.2双人联网操控飞机案例 124
5.6小结 134
第6章 不一样的游戏,一样的精彩应用 135
6.1射击类游戏 135
6.1.1游戏玩法 135
6.1.2视觉效果 135
6.1.3游戏内容设计 136
6.2竞速类游戏 136
6.2.1游戏玩法 137
6.2.2视觉效果 137
6.2.3游戏内容设计 137
6.3益智类游戏 138
6.3.1游戏玩法 138
6.3.2视觉效果 138
6.3.3游戏内容设计 139
6.4角色扮演游戏 139
6.4.1游戏玩法 139
6.4.2视觉效果 140
6.4.3游戏内容设计 140
6.5闯关动作类游戏 141
6.5.1游戏玩法 141
6.5.2视觉效果 142
6.5.3游戏内容设计 142
6.6冒险游戏 142
6.6.1游戏玩法 142
6.6.2视觉效果 143
6.6.3游戏内容设计 144
6.7策略游戏 144
6.7.1游戏玩法 144
6.7.2视觉效果 145
6.7.3游戏内容设计 145
6.8养成类游戏 146
6.8.1游戏玩法 146
6.8.2视觉效果 146
6.8.3游戏内容设计 146
6.9经营类游戏 147
6.9.1游戏玩法 147
6.9.2视觉效果 148
6.9.3游戏内容设计 148
6.10体育类游戏 148
6.10.1游戏玩法 148
6.10.2视觉效果 149
6.10.3游戏内容设计 149
6.11小结 149
第7章 游戏背后的数学与物理 151
7.1编程中经常用到的数理知识 151
7.1.1数学方面 151
7.1.2物理方面 153
7.2碰撞检测技术 153
7.2.1碰撞检测技术基础 154
7.2.2游戏中实体对象之间的碰撞检测 155
7.2.3游戏实体对象与环境之间的碰撞检测 157
7.2.4穿透效应问题 158
7.3必知必会的计算几何 159
7.3.1GeoLib库中常用基础类的介绍 159
7.3.2无孔多边形的相关知识 167
7.3.3有孔多边形的相关知识 170
7.3.4有孔多边形案例 173
7.3.5显示凸壳案例 177
7.3.6多边形切分案例 180
7.3.7显示包围框以及多边形的矩形组合案例 184
7.3.8旋转与凸子区域案例 186
7.3.9平滑与计算最短距离案例 188
7.3.10多边形缩放与不重叠案例 189
7.3.11求多边形对称案例 191
7.3.12多边形集合运算案例 192
7.4小结 194
第8章 游戏地图必知必会 195
8.1两种不同单元形状的地图 195
8.1.1正方形单元地图 195
8.1.2正方形单元地图案例 197
8.1.3正六边形单元地图 198
8.1.4正六边形单元地图案例 200
8.1.5正方形单元和正六边形单元地图的比较 202
8.2正六边形单元地图的路径搜索 202
8.2.1路径搜索示例基本框架的搭建 203
8.2.2深度优先路径搜索DFS 208
8.2.3广度优先路径搜索BFS 209
8.2.4路径搜索算法——Dijkstra 212
8.2.5用A*算法优化算法 215
8.3正六边形单元地图的网格定位 217
8.3.1基本知识 217
8.3.2简单的案例 217
8.4地图编辑器与关卡设计 219
8.4.1关卡地图的重要性 219
8.4.2图片分割界面的实现 221
8.4.3地图设计界面的实现 224
8.5多分辨率屏幕的自适应 230
8.5.1非等比例缩放 230
8.5.2非等比例缩放案例 231
8.5.3等比例缩放并剪裁 234
8.5.4等比例缩放并剪裁案例 235
8.5.5等比例缩放并留白 236
8.5.6等比例缩放并留白案例 237
8.6小结 238
第9章 游戏开发小秘技 239
9.1有限状态机 239
9.1.1何为有限状态机 239
9.1.2有限状态机的简单实现 240
9.1.3有限状态机的OO实现 244
9.2游戏中的模糊逻辑 246
9.2.1模糊的才是真实的 246
9.2.2如何在Android中将游戏模糊化 247
9.3游戏的基本优化技巧 249
9.3.1代码上的小艺术 249
9.3.2 Android中的查找表技术 250
9.3.3游戏的感觉和性能问题 252
9.4多点触控技术的使用 253
9.4.1基本知识 253
9.4.2一个简单的案例 253
9.5小结 257
第10章 JBox2D物理引擎 258
10.1物理引擎很重要 258
10.1.1什么是物理引擎 258
10.1.2常见的物理引擎 258
10.2 2D的王者JBox2D 261
10.2.1基本的物理学概念 261
10.2.2 JBox2D中常用类的介绍 262
10.3木块金字塔被撞击案例 272
10.3.1案例运行效果 273
10.3.2案例的基本框架结构 273
10.3.3常量类——Constant 274
10.3.4物体类——MyBody 275
10.3.5圆形物体类——MyCircleColor 275
10.3.6矩形物体类——MyRectColor 276
10.3.7生成物理形状工具类——Box2DUtil 276
10.3.8主控制类——MyBox2dActivity 278
10.3.9显示界面类——GameView 279
10.3.10绘制线程类——DrawThread 280
10.4简易打砖块案例 281
10.4.1案例运行效果 281
10.4.2需要了解的类 282
10.4.3碰撞监听器——MyContactListener类 285
10.4.4碰撞检测工具类——BodySearchUtil 285
10.4.5绘制线程类—— DrawThread 286
10.5物体无碰撞下落案例 286
10.5.1案例运行效果 287
10.5.2碰撞过滤器——ContactFilter类 287
10.5.3碰撞过滤类的开发 287
10.5.4多边形刚体类——MyPolygonColor 288
10.5.5生成刚体性状的工具类—— Box2DUtil 289
10.5.6主控制类——MyBox2dActivity 290
10.5.7显示界面类——GameView 291
10.6关节——Joint 292
10.6.1关节定义——JointDef类 292
10.6.2距离关节描述—— DistanceJointDef类 292
10.6.3距离关节案例—— 小球下摆 293
10.6.4旋转关节描述——RevoluteJointDef类 296
10.6.5旋转关节案例——转动的风扇与跷跷板 297
10.6.6鼠标关节描述——MouseJointDef类 300
10.6.7鼠标关节案例——物体下落 300
10.6.8移动关节描述——PrismaticJointDef类 304
10.6.9移动关节案例——定向移动的木块 305
10.6.10齿轮关节描述—— GearJointDef类 308
10.6.11齿轮关节案例—— 转动的齿轮 308
10.6.12焊接关节描述—— WeldJointDef类 311
10.6.13焊接关节案例——有弹性的木板 312
10.6.14滑轮关节描述——PulleyJointDef类 314
10.6.15 滑轮关节案例—— 移动的木块 315
10.6.16车轮关节描述—— WheelJointDef类 317
10.6.17车轮关节案例—— 运动的小车 318
10.6.18绳索关节描述——RopeJointDef类 320
10.6.19绳索关节案例——掉落的糖果 321
10.7模拟传送带案例 329
10.7.1案例运行效果 329
10.7.2碰撞监听器——MyContactListener类 330
10.7.3主控制类——MyBox2DActivity 331
10.7.4线程类——DrawThread 333
10.8光线投射案例 334
10.8.1案例运行效果 334
10.8.2 RayCastInput类与 RayCastOutput类 334
10.8.3光线检测类—— MyRayCast 335
10.8.4主控制类—— MyBox2dActivity 336
10.8.5显示界面类—— GameView 337
10.9模拟爆炸案例 338
10.9.1案例运行效果 339
10.9.2光线投射回调接口—— RayCastCallback 339
10.9.3自身的光线投射回调类—— RayCastClosestCallback 339
10.9.4主控制类—— MyBox2dActivity 340
10.10流体模拟 341
10.10.1流体模拟的相关知识 341
10.10.2波浪制造机案例 345
10.10.3软体案例 348
10.10.4固体案例 349
10.10.5粉尘案例 351
10.11小结 352
第11章 3D应用开发基础 353
11.1 OpenGL及OpenGL ES简介 353
11.2 3D基本知识 355
11.3旧约——OpenGLES 1.x 356
11.3.1 OpenGL ES 1x的渲染 管线 356
11.3.2不同的绘制方式 359
11.3.3索引法绘制案例 361
11.3.4顶点法绘制案例 366
11.3.5正交投影 367
11.3.6透视投影 368
11.3.7两种投影模式的案例 370
11.3.8光照的3种组成元素 373
11.3.9定向光与定位光 375
11.3.10点法向量和面法向量 376
11.3.11材质 377
11.3.12两种光源的案例 377
11.3.13纹理映射 380
11.3.14纹理映射案例 380
11.4新约——OpenGL ES 2.0 382
11.4.1 OpenGL ES 2.0的渲染管线 382
11.4.2初识OpenGL ES 2.0应用程序 385
11.4.3着色语言 390
11.4.4正交投影 392
11.4.5透视投影 395
11.4.6三种光照通道 397
11.4.7定位光 398
11.4.8定向光 402
11.4.9纹理映射 404
11.5利用OpenGL ES 2.0绘制流体 408
11.5.1流体绘制的策略 409
11.5.2一个简单的案例 410
11.5.3流体计算流水线回顾 420
11.6小结 421
第12章 滚屏动作类游戏——坦克大战 422
12.1游戏的背景及功能概述 422
12.1.1背景概述 422
12.1.2功能简介 422
12.2游戏的策划及准备工作 424
12.2.1游戏的策划 424
12.2.2安卓平台下游戏开发的准备工作 425
12.3游戏的架构 428
12.3.1程序结构的简要介绍 428
12.3.2服务器端的简要介绍 428
12.4服务器端的开发 429
12.4.1数据类的开发 429
12.4.2服务线程的开发 430
12.4.3碰撞检测类的开发 432
12.4.4动作执行类的开发 434
12.4.5状态更新类的开发 438
12.5 Android端的开发 439
12.5.1数据类的开发 439
12.5.2 TankActivity类的开发 440
12.5.3 SurfaceView类的开发 443
12.5.4绘制线程类的开发 447
12.5.5菜单类的开发 448
12.5.6杂项类的开发 450
12.5.7物体绘制类的开发 454
12.6辅助工具类 455
12.6.1图片处理工具类的开发 455
12.6.2摇杆工具类的开发 456
12.6.3数据接收工具类的开发 458
12.6.4数据发送工具类的开发 459
12.7地图设计器 460
12.8游戏的优化及改进 462
第13章 网络游戏开发——风火三国网络对战游戏 463
13.1游戏背景及功能概述 463
13.1.1背景概述 463
13.1.2功能简介 464
13.2游戏策划及准备工作 465
13.2.1游戏的策划 466
13.2.2 Android平台下游戏开发的准备工作 466
13.3游戏的框架 467
13.3.1各个类的简要介绍 467
13.3.2游戏的框架简介 469
13.4共有类SanGuoActivity的实现 469
13.5辅助界面相关类的实现 474
13.5.1欢迎界面类 474
13.5.2主菜单界面类 476
13.6游戏界面相关类的实现 479
13.6.1游戏界面框架 479
13.6.2界面刷帧线程类 487
13.6.3牌图分割类 488
13.6.4牌的控制类 489
13.6.5出牌规则类 490
13.7客户端代理线程 492
13.8服务器相关类 494
13.8.1服务器主类 494
13.8.2服务器代理线程 496
13.8.3发牌类 503
13.8.4初始化血点类 504
13.8.5判断装备牌类 504
13.8.6管理玩家距离类 505
13.9小结 506
第14章 物理传感器游戏——哇!重力球 507
14.1游戏背景及功能概述 507
14.1.1游戏背景概述 507
14.1.2游戏功能简介 507
14.2游戏的策划和准备工作 509
14.2.1游戏的策划 509
14.2.2游戏的准备工作 509
14.3游戏的架构 510
14.3.1游戏的总体架构 511
14.3.2游戏的类架构 511
14.4主控制类——TableBallActivity类的开发 513
14.5界面相关类 516
14.5.1主界面类MainMenuView 516
14.5.2模式选择界面类 PatternChooseView 518
14.5.3选关界面 LevelChooseView 519
14.5.4历史记录界面HistoryView 521
14.5.5设置界面SettingsView 524
14.6工具辅助类 526
14.6.1数据库类DBUtil 526
14.6.2声音工具类SoundUtil 531
14.6.3图片工具类PicLoadUtil 533
14.6.4时间相关类 535
14.7刚体类 537
14.7.1刚体父类MyBody 537
14.7.2球洞类Hole 538
14.7.3变化的洞FlashHole类 539
14.7.4创建刚体的工具类 540
14.8游戏界面相关类 543
14.8.1游戏界面GameView 543
14.8.2碰撞响应类 CollisionAction 546
14.8.3游戏界面绘画线程DrawThread 548
14.9游戏的优化与改进 548
第15章 塔防游戏——炫彩塔防 550
15.1游戏背景及功能概述 550
15.1.1游戏背景概述 550
15.1.2游戏功能介绍 550
15.2游戏的策划及准备工作 553
15.2.1游戏的策划 553
15.2.2 Android平台下游戏开发的准备工作 553
15.3游戏的架构 556
15.3.1各个类的简要介绍 556
15.3.2游戏框架简介 558
15.4游戏辅助界面 559
15.4.1主菜单界面 559
15.4.2游戏关卡界面 561
15.4.3关于游戏界面 565
15.5游戏算法及主界面相关类 566
15.5.1游戏核心算法类——Game 566
15.5.2游戏界面相关类 569
15.5.3怪物类——Monster Square 576
15.5.4炮塔类——Tower Shell 581
15.5.5子弹相关类 585
15.5.6地图功能类——Blood Up 591
15.5.7怪物生成线程—— CreateMonster 591
15.5.8爆炸类——Utils 592
15.5.9屏幕自适应相关类 595
15.6游戏的优化及改进 597
第16章 策略游戏——大富翁 599
16.1游戏的背景及功能概述 599
16.1.1背景概述 599
16.1.2功能简介 599
16.2游戏的策划及准备工作 602
16.2.1游戏的策划 602
16.2.2安卓平台下游戏开发的准备工作 603
16.3游戏的架构 609
16.3.1程序结构的简要介绍 609
16.3.2游戏各个类的简要介绍 609
16.4地图设计器的开发 611
16.4.1地图设计器的开发设计思路 612
16.4.2地图设计器的框架介绍 612
16.4.3底层地图设计器的开发步骤 612
16.5 Activity和游戏工具类的开发 616
16.5.1主控制类——Zactivity的开发 616
16.5.2常量工具类ConstantUtil的开发 617
16.5.3日期管理类DateUtil的开发 618
16.5.4图片管理类PicManager的开发 619
16.6数据存取模块的开发 620
16.6.1地图层信息的封装类 621
16.6.2数据存取相关类的介绍 624
16.7人物角色模块的开发 627
16.7.1 Figure类的代码框架 627
16.7.2 Dice类的代码框架 630
16.7.3 FigureGoThread类的代码框架 631
16.8表示层界面模块的开发 636
16.8.1游戏界面GameView的框架介绍 636
16.8.2游戏界面绘制方法onDraw的介绍 638
16.8.3游戏界面屏幕监听方法onTouch的介绍 641
16.8.4后台线程GameViewThread的开发 642
16.9地图中可遇实体模块的开发 644
16.9.1绘制类——MyDrawable的开发 644
16.9.2抽象类——MyMeetableDrawable的开发 645
16.9.3土地类——GroundDrawable类 646
16.9.4可遇实体对象的调用流程 648
16.10管理面板模块的开发 648
16.11游戏的优化及改进 651
第17章 休闲类游戏——切切乐 652
17.1游戏的背景及功能概述 652
17.1.1背景描述 652
17.1.2功能介绍 653
17.2游戏的策划及准备工作 655
17.2.1游戏的策划 655
17.2.2手机平台下游戏的准备工作 656
17.3游戏的架构 657
17.3.1各个类的简要介绍 657
17.3.2游戏框架简介 659
17.4显示界面类 661
17.5辅助工具类 667
17.5.1工具类 667
17.5.2辅助类 671
17.6绘制相关类 681
17.6.1 BNObject绘制类的开发 682
17.6.2 BNPolyObject绘制类的开发 685
17.7雪花粒子系统的开发 687
17.7.1基本原理 687
17.7.2开发步骤 687
17.8本游戏中的着色器 689
17.9游戏的优化及改进 691
17.10小结 692
第18章 休闲类游戏——3D冰球 693
18.1游戏的背景及功能概述 693
18.1.1背景描述 693
18.1.2功能介绍 694
18.2游戏的策划及准备工作 697
18.2.1游戏的策划 697
18.2.2手机平台下游戏的准备工作 697
18.3游戏的架构 700
18.3.1各个类的简要介绍 700
18.3.2游戏框架简介 703
18.4显示界面类 704
18.4.1显示界面MySurfaceView类 704
18.4.2加载界面LoadingView类 705
18.4.3主界面MainView类 706
18.4.4转场界面TransitionView类 707
18.4.5游戏界面GameView类 709
18.5辅助工具类 712
18.5.1工具类 712
18.5.2辅助类 716
18.5.3线程类 722
18.6绘制相关类 725
18.6.1 3D模型绘制类的开发 725
18.6.2 BN3DObject绘制类的开发 728
18.7粒子系统的开发 729
18.7.1基本原理 729
18.7.2开发步骤 729
18.8本游戏中的着色器 731
18.9游戏的优化及改进 734
18.10小结 734
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代体育游戏教育史料汇编 第1辑 1》王强主编 2016
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《近代体育游戏教育史料汇编 第2辑 2》王强主编 2016
- 《近代体育游戏教育史料汇编 第1辑 6》王强主编 2016
- 《主题公园开发与管理》梁增贤编著 2019
- 《近代体育游戏教育史料汇编 第2辑 3》王强主编 2016