新書推薦:
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:NT$
356.0
《
拯救免疫失衡
》
售價:NT$
254.0
《
收尸人
》
售價:NT$
332.0
《
大模型应用开发:RAG入门与实战
》
售價:NT$
407.0
《
不挨饿快速瘦的减脂餐
》
售價:NT$
305.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:NT$
504.0
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:NT$
602.0
《
化妆品学原理
》
售價:NT$
254.0
|
編輯推薦: |
全面讲解了最新的Cocos2d-x 3.0的新功能、新应用。
涵盖了当下流行的多种游戏开发技术:
粒子系统、TMX瓦片地图、传感器体感操控、多点触控、多线程、网络连接、Box2D物理引擎、LiquidFun流体引擎、Lua脚本、CocoStudio。
Android与iOS两大平台的实战案例:
射击类游戏—让子弹飞、休闲类游戏—泡泡龙。
内容覆盖了从学习Cocos2d-x必知必会的基础知识到基于Cocos2d-x引擎实现各种高级特效
详细介绍了如何结合Box2D物理引擎进行游戏开发
|
內容簡介: |
随着智能手机的普及,一些可玩性强的手机游戏应用也逐渐普及开来。《Cocos2d-X 3.0游戏开发实战详解》结合作者多年从事游戏应用开发的经验,全面介绍了与Cocos2d-x引擎相关的必知必会的基础知识及完整的游戏案例。内容安排上由浅入深、循序渐进,起点低、终点高,既适合初学者学习,也适合有一定基础的读者进一步提升之用。另外,由于Cocos2d-x引擎通用于各种移动嵌入式平台,因此,书中除了提供在Android平台下开发的案例之外,还提供了在iOS平台下开发的案例。
《Cocos2d-X 3.0游戏开发实战详解》共分为12章,其中第1~6章主要介绍了使用Cocos2d-x引擎进行游戏开发时必知必会的基础知识,包括各种特效、粒子系统、TMX瓦片地图、声音、操控、网络连接等;第7章详细介绍了Box2D物理引擎的使用,同时还介绍了扩展自Box2D,用于流体开发的LiquidFun物理引擎;第8~10章介绍了Cocos2d-x引擎的一些高级知识,主要包括高级扩展控件、Lua协同开发、CocoStudio等;最后的两章分别给出了Android与iOS平台下的两大完整游戏案例。
同时为了便于读者的学习,《Cocos2d-X 3.0游戏开发实战详解》附赠的光盘中包含了书中所有案例的完整代码,最大限度地帮助读者快速掌握相应的开发技术。《Cocos2d-X 3.0游戏开发实战详解》适合AndroidiOS程序员、游戏开发者及爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
|
關於作者: |
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有10多年的Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近十年来为数十家著名企业培养了上千名高级软件开发人员,曾编写过《Cocos2d-X案例开发大全》、《Cocos2d-X 3.0游戏开发实战详解》、《Unity 4 3D开发实战详解》、《OpenGL ES 2.0游戏开发(上下卷)》、《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Android游戏开发大全》等多本畅销技术书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列优秀的Android应用程序与3D游戏。
|
目錄:
|
目 录
第1章 初识庐山真面目——Cocos2d-x 1
1.1 Cocos2d-x概述 1
1.1.1 Cocos2d-x的前世今生 1
1.1.2 初见Cocos2d-x 1
1.1.3 Cocos2d-x市场前景 2
1.2 Android SDK的下载及配置 3
1.2.1 Android SDK的下载 3
1.2.2 Android SDK的配置 4
1.3 Cygwin的下载及安装 5
1.3.1 Cygwin的下载 5
1.3.2 Cygwin的安装 6
1.4 Android NDK的下载及配置 8
1.5 Cocos2d-x的下载及配置 9
1.6 Android项目的导入与创建 10
1.6.1 简单案例HelloCocos2dX的导入与运行 10
1.6.2 Cocos2d案例导入后的相关修改 13
1.6.3 创建自己的Android项目 14
1.6.4 项目结构的介绍 18
1.7 iOS项目的创建及开发 19
1.7.1 iOS项目的创建 20
1.7.2 iOS项目的开发 22
1.8 本章小结 24
第2章 千里之行,始于足下——Cocos2d-x基础 25
2.1 Cocos2d-x中的一些基本概念 25
2.1.1 几个重要的基本概念 25
2.1.2 导演类——Director 26
2.1.3 节点类——Node 28
2.1.4 两个辅助类Point和Size 34
2.1.5 场景类——Scene 36
2.1.6 布景类——Layer 37
2.2 精灵类——Sprite 38
2.2.1 精灵类的基础知识 38
2.2.2 精灵类简单案例的开发 39
2.3 海量精灵的性能问题 43
2.3.1 一个创建海量精灵的案例 43
2.3.2 SpriteBatchNode类的基础知识 45
2.3.3 用SpriteBatchNode类创建海量精灵的案例 46
2.4 Cocos2d-x中的基本控件 47
2.4.1 基础知识 47
2.4.2 一个简单的案例 58
2.5 基本动作类 62
2.5.1 基础知识 62
2.5.2 移动相关动作 63
2.5.3 自身变换相关动作 67
2.5.4 颜色变化相关动作 70
2.5.5 瞬时动作 72
2.5.6 组合动作 74
2.6 换帧精灵 77
2.6.1 相关类的基础知识 77
2.6.2 一个简单的案例 80
2.6.3 精灵帧缓冲相关类基础知识 83
2.6.4 简单案例的帧缓冲版 87
2.7 资源图片的异步加载 88
2.7.1 基础知识 88
2.7.2 一个简单案例的开发 89
2.8 简单的骨骼动画 92
2.8.1 基本原理 92
2.8.2 一个简单的案例 93
2.9 Scale9精灵 96
2.9.1 Scale9精灵基础知识 96
2.9.2 一个简单的案例 99
2.10 本章小结 101
第3章 让你的游戏更有吸引力——动作特效与场景切换特效 102
3.1 动作特效的使用 102
3.1.1 3D振动特效 102
3.1.2 3D瓦片振动特效 105
3.1.3 3D瓦片碎裂特效 106
3.1.4 爆炸特效 108
3.1.5 瓦片消失特效 109
3.1.6 3D瓦片跳跃特效 111
3.1.7 切开行特效 112
3.1.8 切开列特效 113
3.1.9 3D翻页特效 115
3.1.10 3D波浪特效 116
3.1.11 3D瓦片波浪特效 118
3.1.12 3D鱼眼特效 119
3.1.13 3D水波涟漪特效 120
3.1.14 流体特效 122
3.1.15 顶右淡出特效 123
3.1.16 底左淡出特效 125
3.1.17 向上淡出特效 126
3.1.18 向下淡出特效 127
3.1.19 3D绕x轴旋转特效 129
3.1.20 3D绕y轴旋转特效 130
3.1.21 可扭曲波浪特效 131
3.1.22 旋转扭曲特效 133
3.2 百分比动作特效 135
3.2.1 百分比动作的基础知识 135
3.2.2 ProgressTimer类的基础知识 135
3.2.3 半径模式特效 136
3.2.4 水平模式特效 138
3.2.5 垂直模式特效 139
3.3 场景切换特效的使用 141
3.3.1 场景切换特效概览 141
3.3.2 跳跃切换特效 143
3.3.3 逆时针和顺时针切换特效 143
3.3.4 水平和垂直切换特效 144
3.3.5 从内向外和从外向内切换特效 144
3.3.6 淡出和可变色淡出切换特效 145
3.3.7 翻页切换特效 146
3.3.8 方向淡化切换特效 147
3.3.9 瓦片消失切换特效 148
3.3.10 列分割和行分割切换特效 148
3.3.11 绕定轴翻转切换特效 148
3.3.12 可缩放绕指定轴翻转切换特效 149
3.3.13 缩放和旋转切换特效 150
3.3.14 下一场景移动覆盖原场景切换特效 151
3.3.15 下一场景滑至出现切换特效 152
3.3.16 场景切换特效综合案例 153
3.4 本章小结 159
第4章 更逼真的视觉效果——粒子系统 160
4.1 内置粒子系统的使用 160
4.1.1 内置粒子系统概览 160
4.1.2 炙热的太阳效果 163
4.1.3 焰火效果 165
4.1.4 火焰效果 166
4.1.5 星系效果 167
4.1.6 绽放效果 168
4.1.7 流星效果 170
4.1.8 螺旋效果 171
4.1.9 爆炸效果 172
4.1.10 烟雾效果 173
4.1.11 下雪效果 174
4.1.12 下雨效果 176
4.2 加载plist粒子系统 177
4.2.1 粒子设计器的使用 177
4.2.2 粒子系统的位置类型 180
4.2.3 加载plist文件 180
4.3 本章小结 182
第5章 必知必会的开发技术——杂项 183
5.1 2D图元的绘制 183
5.2 触控及多点触控 186
5.2.1 基础知识 186
5.2.2 单点触控的案例 188
5.2.3 多点触控的案例 191
5.3 百纳游戏摇杆 195
5.3.1 基本知识 195
5.3.2 一个简单的案例 196
5.4 重力传感器的使用 203
5.5 键盘事件的处理 206
5.6 用户数据的存储 208
5.7 声音的播放 212
5.8 在Cocos2d-x中使用多线程 216
5.9 文件输入输出 219
5.10 网络功能的开发 222
5.10.1 连接HTTP网络服务器 222
5.10.2 连接WebSocket服务器 226
5.11 多分辨率屏幕的自适应 230
5.11.1 非等比例缩放 230
5.11.2 等比例缩放并裁剪 231
5.11.3 等比例缩放并留白 232
5.11.4 Cocos2d-x中的实现 233
5.12 本章小结 234
第6章 绚丽的地图设计——TMX瓦片地图 235
6.1 正方形瓦片地图 235
6.1.1 应用正方形瓦片地图的实例 235
6.1.2 正方形地图的基本原理 235
6.1.3 正方形地图的特点 236
6.1.4 正方形地图的实现原理 236
6.1.5 正方形瓦片地图设计器 236
6.1.6 TMX瓦片地图的相关类 241
6.2 正方形瓦片地图案例 243
6.2.1 正方形地图案例概览 244
6.2.2 程序的总管AppDelegate类的开发 244
6.2.3 场景管理类TilesMapSimple SceneManager的开发 245
6.2.4 布景层类TilesMapSimpleLayer的开发 246
6.2.5 英雄精灵动画的开发 248
6.2.6 控制英雄移动工具类DirectionUtil的开发 249
6.2.7 案例控制层类ControlLayer基本框架的搭建 250
6.2.8 案例控制层类ControlLayer中各控制方法的开发 251
6.3 正六边形瓦片地图 254
6.3.1 正六边形地图的原理及特点 254
6.3.2 正六边形地图的设计 256
6.3.3 正六边形地图的导入案例 258
6.4 正六边形地图的路径搜索 260
6.4.1 路径搜索示例基本框架的搭建 260
6.4.2 深度优先路径搜索算法DFS 267
6.4.3 深度优先路径搜索算法DFS的实现 268
6.4.4 广度优先路径搜索算法BFS 274
6.4.5 广度优先路径搜索算法BFS的实现 275
6.4.6 Dijkstra路径搜索算法 276
6.4.7 Dijkstra路径搜索算法的实现 277
6.4.8 用A*思想优化广度优先路径搜索 282
6.4.9 用A*思想优化Dijkstra路径搜索 284
6.5 本章小结 285
第7章 游戏开发的核心——Box2D物理引擎 286
7.1 物理引擎很重要 286
7.1.1 什么是物理引擎 286
7.1.2 常见的物理引擎 286
7.2 2D的王者Box2D 289
7.2.1 基本的物理学概念 289
7.2.2 Box2D中常用类的介绍 290
7.3 木块金字塔被撞击案例 301
7.3.1 案例运行效果 301
7.3.2 案例的基本框架结构 301
7.3.3 常量头文件——Constant头文件 302
7.3.4 物体类——PhyObject类 303
7.3.5 圆形物体类——CirclePhyObject类 304
7.3.6 矩形物体类——RectPhyObject类 305
7.3.7 多边形物体类——PolygonObject类 306
7.3.8 场景类——Box2DSceneManager类 307
7.3.9 布景类——Box2DLayer类 308
7.4 简易打砖块案例 310
7.4.1 案例运行效果 310
7.4.2 需要了解的结构体与类 311
7.4.3 碰撞监听器——MyContactListener类 314
7.4.4 布景类——Box2DLayer类 315
7.5 物体碰撞下落案例 316
7.5.1 案例运行效果 316
7.5.2 碰撞过滤器——b2ContactFilter类 317
7.5.3 碰撞过滤相关类的开发 317
7.5.4 布景类——Box2DLayer类 318
7.6 关节——Joint 319
7.6.1 关节定义——b2JointDef结构体 320
7.6.2 距离关节描述——b2DistanceJointDef结构体 320
7.6.3 距离关节案例——小球下摆 321
7.6.4 旋转关节描述——b2RevoluteJointDef结构体 325
7.6.5 旋转关节案例——转动的风扇与跷跷板 325
7.6.6 鼠标关节描述——b2MouseJointDef结构体 329
7.6.7 鼠标关节案例——物体下落 329
7.6.8 移动关节描述——b2PrismaticJointDef结构体 333
7.6.9 移动关节案例——定向移动的木块 334
7.6.10 齿轮关节描述——b2GearJointDef结构体 338
7.6.11 齿轮关节案例——转动的齿轮 338
7.6.12 焊接关节描述——b2WeldJointDef结构体 342
7.6.13 焊接关节案例——有弹性的木板 342
7.6.14 滑轮关节描述——b2PulleyJointDef结构体 346
7.6.15 滑轮关节案例——移动的木块 347
7.6.16 车轮关节描述——b2WheelJointDef结构体 350
7.6.17 车轮关节案例——运动的小车 351
7.6.18 绳索关节描述——b2RopeJointDef结构体 356
7.6.19 绳索关节案例——掉落的糖果 357
7.7 模拟传送带案例 361
7.7.1 案例运行效果 361
7.7.2 碰撞监听器——MyContactListener类 361
7.7.3 布景类——Box2DLayer类 363
7.8 光线投射案例 365
7.8.1 案例运行效果 365
7.8.2 b2RayCastInput结构体与b2RayCastOutput结构体 365
7.8.3 光线检测类——MyRayCast类 366
7.8.4 布景类——Box2DLayer类 368
7.9 模拟爆炸案例 370
7.9.1 案例运行效果 370
7.9.2 光线投射回调类——b2RayCastCallback类 371
7.9.3 自身的光线投射回调类——RayCastClosestCallback类 371
7.9.4 布景类——Box2DLayer类 371
7.10 LiquidFun流体物理引擎 374
7.10.1 LiquidFun流体物理引擎的相关知识 374
7.10.2 波浪制造机案例 377
7.10.3 软体案例 381
7.11 本章小结 383
第8章 更加丰富的游戏功能——扩展2D控件 384
8.1 UI系列控件 384
8.1.1 基础知识 384
8.1.2 fnt字体文件的制作 393
8.1.3 几个简单的案例 394
8.2 Control系列控件 406
8.2.1 基础知识 406
8.2.2 几个简单的案例 410
8.3 EditBox控件 414
8.3.1 基础知识 414
8.3.2 一个简单的使用案例 416
8.4 TableView控件 419
8.4.1 基础知识 419
8.4.2 表格控件的使用案例 421
8.5 本章小结 425
第9章 开发游戏的利器——Lua的使用 426
9.1 概述 426
9.2 Lua脚本语言简介 427
9.2.1 简易性 427
9.2.2 高效性 428
9.2.3 可扩展性 428
9.2.4 可移植性 428
9.3 Lua脚本语言的基本语法 429
9.3.1 数值与类型 429
9.3.2 表达式 430
9.3.3 语句 433
9.3.4 函数 436
9.4 使用Lua搭建场景的案例 438
9.5 使用Lua调用C++的案例 443
9.6 本章小结 446
第10章 便捷的游戏开发工具——CocoStudio 447
10.1 CocoStudio的下载及安装 447
10.1.1 CocoStudio的下载 447
10.1.2 CocoStudio的安装 448
10.2 动画编辑器的使用及相关文件的加载 449
10.2.1 用动画编辑器制作骨骼动画 449
10.2.2 用动画编辑器制作换帧动画 453
10.2.3 加载及使用动画的相关知识 455
10.2.4 一个简单案例的开发 457
10.3 控件编辑器的使用及相关文件的加载 460
10.3.1 控件编辑器的使用 460
10.3.2 加载及使用控件的相关知识 464
10.3.3 一个简单案例的开发 465
10.4 场景编辑器的使用及相关文件的加载 468
10.4.1 场景编辑器的使用 468
10.4.2 加载及使用场景的相关知识 472
10.4.3 一个简单案例的开发 473
10.5 数据编辑器的使用及相关文件的加载 475
10.5.1 数据编辑器的使用 475
10.5.2 数据获取的相关知识 477
10.5.3 一个简单案例的开发 478
10.6 本章小结 480
第11章 综合案例——让子弹飞 481
11.1 游戏的背景及功能概述 481
11.1.1 游戏开发背景概述 481
11.1.2 游戏功能简介 481
11.2 游戏的策划及准备工作 483
11.2.1 游戏的策划 483
11.2.2 Android平台下游戏开发的准备工作 484
11.3 游戏的架构 486
11.3.1 各个类的简要介绍 486
11.3.2 游戏框架简介 488
11.4 布景相关类 489
11.4.1 场景管理类BulletsSceneManager 489
11.4.2 欢迎布景类LoadLayer 490
11.4.3 菜单布景类MenuLayer 493
11.4.4 排行榜布景类RankLayer 494
11.4.5 关于布景类AboutLayer 496
11.4.6 帮助布景类HelpLayer 497
11.4.7 游戏布景类BulletsLayer 499
11.5 游戏开发的辅助类 517
11.5.1 普通飞机辅助类NormalPlane 517
11.5.2 大飞机辅助类BigPlane 518
11.5.3 道具辅助类Property 518
11.6 工具及常量类 519
11.7 引擎引用入口类——AppDelegate 521
11.8 游戏的优化及改进 523
第12章 综合案例——泡泡龙游戏 524
12.1 游戏的背景及功能概述 524
12.1.1 游戏开发的背景概述 524
12.1.2 游戏的功能介绍 525
12.2 游戏的策划及准备工作 527
12.2.1 游戏的策划 527
12.2.2 iOS平台下游戏的准备工作 528
12.3 游戏的架构 530
12.3.1 游戏中各类的简要介绍 530
12.3.2 游戏的框架简介 531
12.4 游戏常量头文件——AppMacros 532
12.5 场景相关类 533
12.5.1 游戏场景管理类——ShootBubbleSceneManager 534
12.5.2 主场景布景类——StartLayer 536
12.5.3 选关布景类——ChooseGKLayer 540
12.5.4 游戏布景类——ShootBubbleLayer 543
12.5.5 帮助布景类——HelpLayer 567
12.5.6 排行榜布景类——JFBLayer 570
12.5.7 关于布景类——AboutUSLayer 573
12.6 引擎引用入口类——AppDelegate 575
12.7 游戏的优化及改进 576
12.8 本章小结 576
|
|