书籍简介:
本书作者多年从事游戏应用开发的经验,详细介绍了几款Cocos2d-x游戏案例的开发。在介绍案例开发的过程中也介绍了一些常用技术的使用、开发技巧以及思路等。
书中主要内容包括:第1章“初识Cocos2d-x”介绍使用Cocos2d-x游戏引擎开发3D游戏的一些基础知识、环境的配置以及案例的导入和运行;第2章“忍者飞镖”是非常简单的休闲小游戏,通过此案例读者可以学到很多Cocos2d-x游戏开发的基础知识;第3章“切冰块”是休闲类小游戏,通过此案例介绍了Box2D物理引擎,为下面讲解Bullet引擎打下基础;第4章探寻当前市面上的火爆游戏“鳄鱼吃饼干”的开发过程,并讲解了如何实现该游戏的开发;第5章“方块历险记”,通过此案例读者可以学到3D游戏开发;第6章“峡谷卡丁车”,使得读者对竞速类3D游戏的开发有一个整体的认识;第7章“森林跑酷”,本游戏是当下十分流行的体育游戏;第8章“雷鸣战机”,通过此案例读者能够学习到2D与3D结合的游戏的开发过程;第9章“天下棋弈”,通过此案例读者能够学习网络对战游戏的开发;第10章“极速飞行”,通过此案例读者能够学习到当下火爆的VR游戏是如何开发的,进一步学习VR游戏的开发流程。
本书适合有一定基础、有志于游戏开发的读者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
作者简介:
吴亚峰等
出版时间:
2018年08月
章节目录:
第 1章 初识Cocos2d-x 1
1.1 Cocos2d-x的概述 1
1.1.1 Cocos2d-x的发展史 1
1.1.2 Cocos2d-x的市场前景 2
1.2 Cocos2d-x开发环境的搭建 3
1.2.1 Android Studio以及Android SDK的 与配置 3
1.2.2 Android NDK的 与配置 5
1.2.3 Cocos2d-x的 与配置 6
1.3 初识Cocos2d-x应用程序 7
1.3.1 本书案例的导入与运行 7
1.3.2 Cocos2d-x案例导入后的相关修改 9
1.4 本章小结 9
第 2章 休闲益智类游戏——忍者飞镖 10
2.1 游戏的背景及功能概述 10
2.1.1 背景描述 10
2.1.2 功能介绍 10
2.2 游戏的策划及准备工作 12
2.2.1 游戏的策划 12
2.2.2 机平台下游戏的准备工作 13
2.3 游戏的架构 15
2.3.1 各个类的简要介绍 15
2.3.2 游戏框架简介 16
2.4 布景相关类 17
2.4.1 场景管理类GameSceneManager 18
2.4.2 欢迎布景类MainLayer 19
2.4.3 游戏帮助布景类HelpLayer 22
2.4.4 游戏记录成绩布景类 RankLayer 25
2.4.5 游戏关于布景类 AboutLayer 26
2.4.6 游戏选择系列布景类SelectLayer 28
2.4.7 游戏背景类BackGroundPopupWindow 41
2.4.8 游戏暂停对话框类PausePopupWindow 44
2.4.9 开始游戏对话框类GameStartPopupWindow 46
2.4.10 游戏结束对话框类GameOverPopupWindow 47
2.4.11 退出游戏对话框类ExitPopupWindow 51
2.5 物理引擎相关类 53
2.5.1 基本物体类 53
2.5.2 碰撞检测类 57
2.5.3 射线投射类 59
2.6 引擎引用入口类——AppDelegate 60
2.7 本章小结 61
第3章 休闲类游戏——切冰块 62
3.1 游戏的背景及功能概述 62
3.1.1 背景描述 62
3.1.2 功能介绍 63
3.2 游戏的策划及准备工作 65
3.2.1 游戏的策划 65
3.2.2 机平台下游戏的准备工作 66
3.3 游戏的架构 68
3.3.1 各个类的简要介绍 68
3.3.2 游戏框架简介 69
3.4 布景类相关 70
3.4.1 场景管理类GameSceneManager 71
3.4.2 欢迎布景类WelcomeLayer 72
3.4.3 游戏选择系列布景类SetLayer 78
3.4.4 选择系列1关卡布景类set1ChoiceLayer 81
3.4.5 游戏布景类GameLayer 87
3.4.6 游戏胜利或失败布景类SuccLayer 99
3.5 辅助工具类相关 104
3.5.1 工具类 105
3.5.2 辅助类 105
3.6 物理引擎工具类相关 113
3.6.1 自身的光线投射回调类RayCastClosestCallback 113
3.6.2 矩形物体类RectPhyObject 114
3.6.3 多边形物体类PolygonPhyObject 115
3.7 引擎引用入口类——AppDelegate 116
3.8 游戏的优化及改进 117
3.9 本章小结 117
第4章 休闲益智类游戏——鳄鱼吃饼干 118
4.1 游戏的背景及功能概述 118
4.1.1 背景概述 118
4.1.2 功能介绍 119
4.2 游戏的策划及准备工作 121
4.2.1 游戏的策划 121
4.2.2 机平台下游戏的准备工作 122
4.3 游戏的架构 125
4.3.1 各个类的简要介绍 125
4.3.2 游戏的框架简介 126
4.4 游戏常量头文件AppMacros 127
4.5 游戏辅助类 128
4.5.1 焊接关节类——WeldJoint 128
4.5.2 鼠标关节类——MouseJoint 129
4.5.3 气泡道具类——AirBubble 130
4.5.4 气球道具类——AirBullon 133
4.5.5 弹簧道具类——Bouncer 134
4.5.6 拖拉棒道具类——DragRod 136
4.5.7 电击道具类——Electric 140
4.5.8 帽子道具类——Hat 142
4.5.9 蜘蛛道具类——Spider 144
4.5.10 钉子道具类——Nail 147
4.5.11 尖刺道具类——Spike 148
4.5.12 碰撞监听器类——MyContactListener 150
4.6 场景相关类 152
4.6.1 游戏场景管理类——Box2DSceneManager 152
4.6.2 加载布景类——LoadLayer 153
4.6.3 开始布景类——StartLayer 155
4.6.4 设置布景类—— OptionLayer 158
4.6.5 选主题布景类——ChooseHouseLayer 161
4.6.6 选关布景类——ChooseLevelLayer 164
4.6.7 游戏布景类—— Box2DLayer 167
4.7 引擎引用入口类——AppDelegate 172
4.8 游戏的优化及改进 173
4.9 本章小结 173
第5章 3D休闲游戏——方块历险记 174
5.1 游戏背景及功能概述 174
5.1.1 游戏开发背景概述 174
5.1.2 游戏功能简介 175
5.2 游戏的策划及准备工作 176
5.2.1 游戏的策划 176
5.2.2 游戏的开发准备工作 177
5.3 游戏的架构 178
5.3.1 各类的简要介绍 178
5.3.2 游戏框架简介 179
5.4 布景相关类 180
5.4.1 总场景管理类——ObjSceneManager 180
5.4.2 3D布景类——My3DLayer 181
5.4.3 菜单布景类—— My2DLayer 186
5.4.4 摄像机管理类——CameraChange 188
5.5 机关与方块相关类 189
5.5.1 方块管理类—— ZFTManager 190
5.5.2 地刺机关管理类—— DiCiBox 192
5.5.3 掉落块机关管理类——DiaoLuoManager 193
5.5.4 夹子机关管理类—— JiaZiBox 194
5.5.5 移动机关管理类——YiDongBox 196
5.5.6 烟雾管理类——YanWu 198
5.6 常量及其他相关类 200
5.6.1 常量类——Constant 200
5.6.2 引擎应用入口类——AppDelegate 202
5.7 游戏的优化及改进 203
5.8 本章小结 203
第6章 竞速类游戏——峡谷卡丁车 204
6.1 游戏的背景及功能概述 204
6.1.1 游戏开发的背景概述 204
6.1.2 游戏的功能介绍 204
6.2 游戏的策划及准备工作 206
6.2.1 游戏的策划 207
6.2.2 游戏的准备工作 207
6.3 游戏的架构 210
6.3.1 游戏中各类的简要介绍 210
6.3.2 游戏的框架简介 211
6.4 游戏常量头文件——APPMacros 212
6.5 场景相关类 213
6.5.1 游戏场景管理类——SceneManager 213
6.5.2 加载布景类——BeginLayer 215
6.5.3 主界面布景类——SelectLayer 216
6.5.4 音效布景类—— SettingLayer 219
6.5.5 2D布景类—— Game2DLayer 220
6.5.6 3D布景类—— Game3DLayer 223
6.5.7 物理世界类——GamePhysicsWorld 226
6.6 辅助类 228
6.6.1 奖励特效类——AwardBox 228
6.6.2 子弹类——Bullet 229
6.6.3 导弹类——Rocket 231
6.6.4 底盘类——Disc 232
6.6.5 卡丁车类——Kart 235
6.7 引擎引用入口类——AppDelegate 246
6.8 引擎的修改 247
6.9 游戏的优化及改进 248
6.10 本章小结 248
第7章 休闲体育类游戏——森林跑酷 249
7.1 游戏的背景及功能概述 249
7.1.1 背景描述 249
7.1.2 功能介绍 249
7.2 游戏的策划及准备工作 253
7.2.1 游戏的策划 253
7.2.2 机平台下游戏的准备工作 253
7.3 游戏的架构 257
7.3.1 各个类的简要介绍 257
7.3.2 游戏框架简介 258
7.4 布景相关类 259
7.4.1 场景管理类GameSceneManager 259
7.4.2 游戏加载布景类LoadingLayer 261
7.4.3 游戏主菜单布景类MainMenuLayer 264
7.4.4 选择游戏角色布景类SelectRoleLayer 272
7.4.5 2D游戏布景类My2DLayer 275
7.4.6 3D游戏布景类My3DLayer 281
7.4.7 游戏得分布景类ScoreLayer 298
7.5 辅助工具类相关 301
7.5.1 工具类 301
7.5.2 辅助类 302
7.6 引擎引用入口类——AppDelegate 310
7.7 游戏的优化及改进 311
7.8 本章小结 311
第8章 飞行射击类游戏——雷鸣战机 312
8.1 游戏的背景及功能概述 312
8.1.1 背景概述 312
8.1.2 功能简介 313
8.2 游戏的策划及准备工作 315
8.2.1 游戏的策划 315
8.2.2 安卓平台下游戏开发的准备工作 315
8.3 游戏的架构 318
8.3.1 程序结构的简要介绍 318
8.3.2 端的简要介绍 318
8.3.3 机客户端的简要介绍 319
8.3.4 游戏框架简介 321
8.4 端的开发 322
8.4.1 数据类的开发 322
8.4.2 服务线程的开发 323
8.4.3 收发数据工具类的开发 325
8.4.4 辅助工具类的开发 327
8.4.5 动作执行类的开发 328
8.4.6 状态更新类的开发 332
8.5 布景相关类 333
8.5.1 菜单布景类MainMenuScene 333
8.5.2 游戏模式布景类NetLayer 337
8.5.3 帮助布景类HelpLayer 340
8.5.4 飞机强化布景类WeaponLayer 343
8.5.5 关卡选择布景类SelectGameLayer 344
8.5.6 飞机选择布景类SelectPlaneLayer 346
8.5.7 游戏2D布景类My2DLayer 348
8.5.8 单机游戏3D布景类First3DLayer 351
8.5.9 联网游戏3D布景类Web3DLayer 353
8.6 辅助工具类 354
8.6.1 网络通信工具类BNSocketUtil 354
8.6.2 战机类的开发 357
8.6.3 敌机工具类 362
8.6.4 子弹工具类 367
8.6.5 爆炸工具类 369
8.7 游戏的优化及改进 371
第9章 棋牌类游戏——天下棋奕 372
9.1 游戏的背景及功能概述 372
9.1.1 背景概述 372
9.1.2 功能介绍 373
9.2 游戏的策划及准备工作 374
9.2.1 游戏的策划 374
9.2.2 安卓平台下游戏开发的准备工作 375
9.3 游戏的架构 379
9.3.1 网络游戏架构简介 379
9.3.2 端的简要介绍 379
9.3.3 客户端的简要介绍 380
9.3.4 游戏框架简介 381
9.4 端的开发 382
9.4.1 数据类的开发 382
9.4.2 服务线程的开发 383
9.4.3 收发数据工具类的开发 386
9.4.4 走棋判断工具类的开发 387
9.5 辅助工具类 390
9.5.1 网络通信工具类BNSocketUtil 390
9.5.2 计算辅助类PublicApi 393
9.5.3 水波类Water 394
9.6 布景相关类的开发 397
9.6.1 游戏场景管理类——GameSceneManager 397
9.6.2 游戏资源加载布景类——LoadingLayer 399
9.6.3 游戏主菜单布景类——MainMenuLayer 404
9.6.4 游戏帮助菜单布景类——HelpLayer 412
9.6.5 单机游戏3D布景类——3DLayer 415
9.6.6 联网游戏3D布景类——WebLayer 420
9.7 引擎引用入口类——AppDelegate 423
9.8 游戏的优化及改进 424
9.9 本章小结 424
第 10章 VR休闲游戏——极速飞行 425
10.1 游戏背景及功能概述 425
10.1.1 游戏开发背景概述 425
10.1.2 游戏功能简介 425
10.2 游戏的策划及准备工作 426
10.2.1 游戏的策划 427
10.2.2 游戏的开发准备工作 427
10.3 游戏的架构 429
10.3.1 各类的简要介绍 429
10.3.2 游戏框架简介 430
10.4 布景相关类 431
10.4.1 总场景管理类——ObjSceneManager 431
10.4.2 3D布景类——My3DLayer 432
10.5 辅助类 438
10.5.1 绘制顺序 438
10.5.2 模型创建类——ModelCreate 439
10.5.3 镜头光晕原理 441
10.5.4 光晕类——Flare 442
10.5.5 地形类——MyTerrain 443
10.5.6 常量类——Constant 444
10.6 工具管理类 446
10.6.1 摄像机管理类——CameraControl 446
10.6.2 光晕管理类——FlareControl 447
10.6.3 游戏管理类——GameControl 448
10.6.4 无穷地形原理 449
10.6.5 地形管理类——TerrainControl 451
10.7 引擎引用入口类 454
10.8 材质系统与着色器的开发 455
10.8.1 地形的材质系统 455
10.8.2 菜单的材质系统 457
10.8.3 光晕的材质系统 458
10.9 游戏的特别说明及优化改进 460
10.9.1 特别说明 460
10.9.2 游戏的优化改进 460
10.10 本章小结 461
封面图: