图书介绍
cocos2d-x 3.x游戏开发之旅PDF|Epub|txt|kindle电子书版本网盘下载
![cocos2d-x 3.x游戏开发之旅](https://www.shukui.net/cover/59/32710923.jpg)
- 钟迪龙著 著
- 出版社:
- ISBN:
- 出版时间:2014
- 标注页数:0页
- 文件大小:53MB
- 文件页数:517页
- 主题词:
PDF下载
下载说明
cocos2d-x 3.x游戏开发之旅PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 开学典礼1
1.1 出场人物介绍1
1.2 入学要求——本书适合人群2
1.3 这内容有点糟糕——本书风格2
1.4 你需要这些技能——学Cocos2d-x需要什么知识3
1.5 我们为什么要学Cocos2d-x 3.04
1.6 先给我们的代码找个温馨的家——环境搭建4
1.6.1 黑色风暴之VS20134
1.6.2 我的Cocos2d-x版本5
1.6.3 我们还需要做一些准备工作6
1.6.4 半自动配置环境变量6
1.6.5 看看前辈们的毕业设计——运行官方Demo8
1.7 广告时间——提供一些学习资源10
第2章 不离不弃的HelloWorld12
2.1 简单到无法想象——直接运行HelloWorld项目12
2.2 新建Cocos2d-x项目遇到的麻烦——成功新建一个HelloWorld14
2.2.1 创建Cocos2d-x 3.0项目14
2.3 HelloWorld,没有想象中的简单——简单解析HelloWorld16
2.3.1 HelloWorld是如何显示到窗口的16
2.3.2 场景其实不是真正的场景17
2.4 实例来了20
2.4.1 题外话——一个工程多个项目,避免重复编译20
2.4.2 创建属于自己的HelloWorld23
第3章 我们来学习怎么爬行28
3.1 环游世界——场景28
3.2 一切的主宰——导演29
3.2.1 加载第一个场景29
3.2.2 简单的切换场景29
3.2.3 包含特效的切换场景31
3.2.4 赠送的——推进和弹出场景33
3.3 你走你的,我走我的——层35
3.4 比对象还要可爱的对象——精灵来了36
3.5 我得下命令——菜单37
3.6 当个背包客——节点39
3.7 Cocos2d-x3.0新成员——Value、Vector、Map40
3.7.1 有容乃大——Value41
3.7.2 给我排好队——Vector42
3.7.3 对号入座——Map44
3.7.4 Value的超能力——整数、浮点数、字符串之间的转换46
第4章 我们来学习怎么走路47
4.1 吉他独奏《天空之城》——播放声音47
4.2 控件篇1——我最爱的九妹和按钮事件48
4.2.1 你好,九妹——可拉伸图片48
4.2.2 解决使用extensions库时编译报错的问题49
4.2.3 九妹和按钮搭配51
4.3 可视化的世界——CocoStudio UI编辑器53
本节实例源代码为:Chapter4 2 Scale9Sprite53
4.3.1 还在用代码写UI?你傻了吧53
4.3.2 只需要拖动——UI编辑器初探54
4.3.3 更丰富的UI——导入图片资源56
4.3.4 更丰富的UI——导出最终文件58
4.3.5 展示成果——在游戏中加载UI59
4.3.6 我要互动——按钮监听事件62
4.4 番外篇——CocoStudio UI编辑器进阶功能65
4.4.1 要死、要死、要死了之血量条65
4.4.2 我要藏起来之滑动层68
第5章 我们来学习怎么打架72
5.1 动作讲解1——简简单单的运动72
5.1.1 你想去哪,你想走多远——MoveTo和MoveBy72
5.1.2 我要减肥——ScaleTo和ScaleBy74
5.1.3 卡牌翻转特效——用ScaleTo就可以实现77
5.1.4 闪亮登场——B1ink77
5.2 动作讲解2——更复杂的运动79
5.2.1 我要你按照我的路线走——BezierTo和BezierBy79
5.2.2 我没让你停,重复动作——RepeatForever81
5.2.3 动作一起做,一边走一边转一边跳——Sequence与Spawn82
5.3 动作讲解3——动作监听84
5.3.1 小若,到家了告诉我一声——动作结束监听84
5.3.2 更方便的函数回调——lambda85
5.3.3 动作家族族谱88
5.4 屏幕触摸事件89
5.4.1 屏幕事件初探89
5.4.2 单点触摸——截断事件,一个对象的垄断91
5.4.3 多点触模——太弱了,一起上吧94
第6章 是时候跑起来了——《LittleRunner》99
6.1 这是一个什么游戏99
6.2 找个主角回来——创建主角精灵100
6.2.1 创建筛选器100
6.2.2 创建实体基类101
6.2.3 创建主角类102
6.2.4 创建游戏场景103
6.2.5 修改游戏窗口大小106
6.3 其实她不想跑——创建无限滚动地图107
6.3.1 每一帧都可以操作——scheduleUpdate初探107
6.3.2 翻滚吧,地图——地图无限滚动109
6.4 开心的时候——让主角跳起来111
6.4.1 Button的应用——创建跳跃按钮111
6.4.2 JumpBy的应用——给主角添加跳跃动作112
6.5 金钱诱惑——加入怪物114
6.5.1 怪物诞生114
6.5.2 怪物巢穴——创建怪物管理器116
6.5.3 贪婪的主角——怪物碰撞检测119
6.5.4 怪物碰不到主角——使用组合的小麻烦122
6.5.5 疼了就退后——增加主角受伤时的动作123
6.6 监控一切——创建分数标签、血量条等属性对象125
第7章 精灵来了第二季129
7.1 一大波精灵来袭——大量精灵单独绘制的缺陷129
7.1.1 2.0的回忆——大量绘制精灵的尴尬129
7.1.2 3.0新功能——Auto-batching130
7.1.3 没有完美的事物——Auto-batching“驾驭手册”131
7.1.4 谁先上的问题——setGlobalZOrder、setLocalZOrder、setOrderOfArrival134
7.1.5 附赠甜品——Auto-batching源码级深入分析138
7.2 把相同的精灵装上车——使用SpriteBatchNode优化绘制144
7.2.1 一次渲染——SpriteBatchNode的特别之处144
7.2.2 什么是纹理——Texture简单解说146
7.3 遇到不同的精灵怎么办——TexturePacker工具使用147
7.3.1 同一张图片,同一个纹理148
7.3.2 将多张图片打包到一起149
7.3.3 加载打包后的图片151
7.4 是动画,不是动作——Animation152
7.4.1 用打包前的图片创建动画152
7.4.2 用打包后的图片创建动画154
7.4.3 额外赠送——动画创建辅助类156
第8章 游戏实例之《跑跑跑》160
8.1 更丰富的世界——使用Tiled地图160
8.1.1 世界诞生——创建跑步场景160
8.1.2 Tiled地图来了——使用Tiled Map Editor创建地图文件162
8.1.3 你报错了吗——Tiled Editor常见路径错误163
8.2 嘿,培养新人——创建新的主角164
8.2.1 主角诞生——创建实体类和主角类164
8.2.2 固定主角出生点——对象层的使用167
8.2.3 让主角跑——添加主角动画169
8.3 更智能的主角——添加角色控制器170
8.3.1 创建控制器基类170
8.3.2 带着它就能跑——主角移动控制器172
8.3.3 焦点是主角——让地图随着主角滚动175
8.4 更多的内容178
8.4.1 让主角上下移动——三方移动控制器178
8.4.2 添加障碍物——Tiled障碍层的使用181
8.4.3 添加能吃的物品以及胜利条件187
第9章 用多线程做定时器?你疯了——schedule很强大191
9.1 我爱单线程——schedule介绍191
9.2 每一帧都有我——scheduleUpdate和update191
9.3 定时器可以这么做——schedule和回调函数193
9.3.1 不调用update函数,调用自己的函数193
9.3.2 真正的定时器194
9.4 让一切都停下来——unSchedule195
9.5 触发器可以这么做——scheduleOnce和回调函数197
9.6 准确的计时功能——制作定时器198
9.6.1 schedule并没有那么准时——越走越慢的时间198
9.6.2 更准确地计时——不会变慢的时间200
9.6.3 制作定时炸弹——方便的定时回调功能封装203
9.7 额外赠送,我总是很关注我暗恋的女孩——观察者模式205
9.7.1 你喜欢谁?我帮你留意——观察者模式扫盲205
9.7.2 Cocos2d-x提供的观察者模式工具类——NotificationCenter206
9.7.3 addObserver和postNotification函数传递数据的区别209
9.7.4 额外赠送——自己实现简单的观察者211
第10章 野外生存训练216
10.1 师父走了,你怎么办——学会查看官方Demo216
10.2 迟早都要学会——学习查看Demo源代码217
10.3 别忘了开源——学习查看Cocos2d-x源代码218
10.3.1 为什么addObserver和postNotification不能同时传递数据218
10.4 物竞天择,没用的就要被淘汰——retain和release221
10.4.1 为什么会有retain221
10.4.2 真正的凶手autoRelease222
10.4.3 看代码实际点222
10.4.4 原理来了224
10.4.5 实际情况225
10.4.6 到底什么时候要retain225
10.5 什么?你忘了保存记忆?我们一起十年了啊——保存数据226
10.6 我能摆脱编译的噩梦——读取Csv配置文件227
10.6.1 什么是Csv文件——Csv格式文件扫盲228
10.6.2 如何创建一个Csv文件228
10.6.3 预热——编写字符串工具类229
10.6.4 一切都是对象——Csv文件对象类231
10.6.5 进入主题——编写Csv文件读取工具类233
10.7 再给编译噩梦粉碎一击——更方便扩展的JSON238
10.7.1 JSON又是什么——基础扫盲238
10.7.2 拿好你的武器——导入JsonCpp解析库239
10.7.3 就是这么简单——读取JSON文件241
10.7.4 进阶挑战——读取嵌套结构的JSON文件242
10.7.5 进阶挑战——读取数组结构的JSON文件243
10.7.6 进阶挑战——输出JSON文件244
第11章 睡觉的时候不要吃东西——有限状态机247
11.1 花5分钟告诉你什么是有限状态机247
11.1.1 简单认识247
11.1.2 一个很“好玩”的游戏247
11.1.3 实现简单有限状态机的类248
11.2 状态模式之我很胖但我很强251
11.2.1 什么是状态模式251
11.2.2 用状态模式实现有限状态机252
11.3 真正的状态机来了258
11.3.1 创建状态机类258
11.3.2 被释放的木头类260
11.4 事件驱动,你想象不到的强大263
11.4.1 彻底抛弃update函数——新的状态机类263
11.4.2 更智能的状态类266
11.4.3 见证新的运作情况267
第12章 我比Csv更厉害——强大的Lua269
12.1 让Lua和C++牵手269
12.1.1 Lua的堆栈和全局表269
12.1.2 Lua和C++的第一次通信269
12.2 Demo讲解之Lua和C++牵手270
12.2.1 引入Lua库271
12.2.2 开始使用272
12.2.3 执行Lua脚本273
12.2.4 重置栈顶索引,将全局变量放到堆栈中274
12.2.5 最后一步,C++取得字符串274
12.3 简单解析Lua的堆栈276
12.4 来点高难度的,获取Lua表结构的数据276
12.4.1 什么是table277
12.4.2 获取table变量277
12.4.3 lua_gettable函数277
12.5 C++调用Lua函数280
12.6 Lua调用C++的函数281
第13章 自力更生——自己写一个UI模块285
13.1 刚开始必须要轻松一下——UI模块思路简介285
13.1.1 它能为我们做些什么——UI模块包含的功能285
13.1.2 一览众山小——UI模块设计思路图286
13.2 XML文件和属性模块287
13.2.1 一切的源头——UI的XML配置文件287
13.2.2 知识补充1——TinyXML介绍289
13.2.3 知识补充2——TinyXML的HelloWorld289
13.2.4 知识补充3——用TinyXML读取UI模块的XML配置文件292
13.2.5 封装,我们要记住封装——XML标签节点对象296
13.2.6 我负责保存,你负责修饰——XML标签节点属性设置器302
13.3 尝点甜头——创建控件305
13.4 主角来了——组件308
13.4.1 控件基类——MMBase308
13.4.2 普通窗口控件——MMNormalWin309
13.4.3 标签控件——MMLabel311
13.4.4 甜点来了——测试新的控件类312
13.5 控件管理模块314
13.5.1 我是老大——MMWinManager控件管理器314
13.5.2 我是先锋——MMWinSystem控件系统318
13.5.3 我是前台——MMWinDesktop控件顶层桌面321
13.6 控件工厂322
13.6.1 抽象工厂之MMWinBaseFactory322
13.6.2 控件工厂之MMWinFactory323
13.6.3 装饰工厂之MMWinProperityFactory324
13.6.4 最后的事情——运行项目326
第14章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(上篇)329
14.1 开篇——最后的游戏实例329
14.1.1 为什么是塔防游戏329
14.1.2 《卡牌塔防》功能简介——我们能学到哪些知识329
14.2 启程——关卡编辑器330
14.2.1 一个英雄一个坑——炮台坐标编辑器331
14.2.2 按照我给的路径走——怪物坐标编辑器348
14.2.3 添加更多方便的操作356
14.3 磨刀不误砍柴工——预备知识361
14.3.1 导演的助手——场景管理器361
14.3.2 数据读取模块364
14.3.3 全局参数365
14.3.4 请说英文好吗?不,说中文——118N工具类366
第15章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(下篇)372
15.1 英雄诞生372
15.1.1 创建关卡场景372
15.1.2 地图层373
15.1.3 实体基类375
15.1.4 英雄管理器1——炮台对象378
15.1.5 英雄管理器2——英雄对象382
15.1.6 英雄管理器3——炮台和英雄的关系386
15.1.7 英雄管理器4——加入创建英雄的功能387
15.2 怪物来袭389
15.2.1 怪物管理器389
15.2.2 移动控制器1——控制器基类394
15.2.3 移动控制器2——移动控制器基类394
15.2.4 移动控制器3——按指定坐标列表移动396
15.2.5 怪物来了400
15.3 英雄进攻404
15.3.1 英雄的一次攻击流程404
15.3.2 在Hero里获取怪物列表405
15.3.3 查找并锁定攻击目标406
15.3.4 英雄的攻击407
15.3.5 子弹管理器1——子弹类409
15.3.6 子弹管理器2——子弹管理器413
15.3.7 子弹管理器3——英雄开始发射子弹416
15.4 华丽的装饰417
15.4.1 怪物血量条417
15.4.2 炮台操作按钮——英雄华丽升级419
15.4.3 怪物起点和终点魔法台425
第16章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(终结篇)428
16.1 关卡信息UI428
16.1.1 利用UI编辑器制作关卡信息面板428
16.1.2 关卡信息数据刷新——NotificationCenter的应用431
16.1.3 怪物数量刷新435
16.1.4 怪物安息——怪物死亡后塔魂数量刷新435
16.1.5 堡垒安息——怪物到达堡垒后扣除魔力值436
16.1.6 打怪升级——英雄升级扣除塔魂438
16.2 谢幕439
16.2.1 关卡选择——根据关卡数加载游戏439
16.2.2 胜利条件判断443
16.2.3 失败条件判断446
16.3 移植游戏到Android平台447
16.3.1 傻瓜式的Android环境搭建1——准备工作447
16.3.2 傻瓜式的Android环境搭建2——解压和安装448
16.3.3 傻瓜式的Android环境搭建3——测试一下吧451
16.3.4 准备工作——导入Android项目453
16.3.5 一劳永逸——修改Android.mk文件455
16.3.6 开始编译——build_native.py文件458
第17章 我不要一个人玩游戏——网络游戏入门460
17.1 只能给你一块敲门砖——本章带给大家的内容460
17.2 左手画方右手画圆——多线程461
17.3 从最简单的开始——从建立连接到接收数据464
17.3.1 偷偷和别人连接——使用ODSocket与服务器建立连接465
17.3.2 不务正业——编写一个测试服务端467
17.3.3 言归正传——编写我们的Cocos2d-x客户端469
17.4 你得真的像个网游——服务端与客户端交互逻辑471
17.4.1 逃避多线程——更安全的数据接收处理471
17.4.2 进入游戏——服务端通知客户端进入游戏场景476
17.4.3 更多的人——请求在线人数,添加所有玩家到场景中480
17.4.4 新人要报到——有新玩家加入,通知已在线玩家484
第18章 额外的一些东西486
18.1 常见错误及解决方案486
18.1.1 调用可变参数函数时,总是莫名报错486
18.1.2 无法解析的外部符号(或命令)486
18.1.3 Android移植编译报错——undefined reference to487
18.1.4 Label变成了一个黑块——多线程引起的Bug487
18.1.5 中断窗口487
18.1.6 重复切换场景后无端报错488
18.2 游戏发布流程(概述)489
18.2.1 给游戏加入广告SDK489
18.2.2 加入统计SDK490
18.2.3 上传游戏到各个市场491
18.3 未来的趋势492
18.3.1 云后端服务492
18.3.2 社交SDK492
18.3.3 Cocos Code IDE493
18.3.4 CocoStudio493
18.4 安全意识493
18.4.1 加密的数据类型,拒绝游戏修改器494
18.4.2 防止打包党的一些小技巧495
18.5 游戏开发思维497
18.5.1 不管游戏多快,一帧就是一帧,我们能做很多事情497
18.5.2 随机应变,利用不经意的Bug创造更多玩法497
18.6 最后的最后498
18.6.1 最快速找到木头的方式498
18.6.2 给读者的惊喜——丁小若寄语499
18.6.3 请提供你的意见和你发现的Bug499