图书介绍

Cocos2d-x游戏开发之旅2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Cocos2d-x游戏开发之旅
  • 钟迪龙著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121211362
  • 出版时间:2013
  • 标注页数:471页
  • 文件大小:96MB
  • 文件页数:487页
  • 主题词:移动电话机-游戏程序-程序设计;便携式计算机-游戏程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Cocos2d-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-x4

1.6先给我们的代码找个温馨的家——环境搭建4

1.6.1紫色风暴之VS20104

1.6.2我的Cocos2d-x版本5

1.6.3看看前辈们的毕业设计——运行官方Demo6

1.7广告时间——提供一些学习资源8

第2章 不离不弃的HelloWorld10

2.1简单到无法想象——直接运行HelloCpp项目10

2.2新建Cocos2d-x项目遇到的麻烦——成功新建一个HelloWorld12

2.2.1创建Cocos2d-x项目12

2.2.2解决编译报错的方案1——直接复制源文件14

2.2.3解决编译报错的方案2——修改项目配置17

2.3 HelloWorld,没有想象中的简单——简单解析HelloWorld19

2.3.1 HelloWorld是如何显示到窗口的19

2.3.2场景其实不是真正的场景20

2.4实例来了23

第3章 我们来学习怎么爬行29

3.1环游世界——场景29

3.2一切的主宰——导演30

3.2.1加载第一个场景30

3.2.2简单的切换场景30

3.2.3包含特效的切换场景32

3.2.4赠送的——推进和弹出场景34

3.3你走你的,我走我的——层36

3.4比对象还要可爱的对象——精灵来了37

3.5我得下命令——菜单38

3.6当个背包客——节点40

第4章 我们来学习怎么走路43

4.1吉他独奏《天空之城》——播放声音43

4.2控件篇1——我最爱的九妹和按钮事件44

4.2.1你好,九妹——可拉伸图片44

4.2.2解决使用extensions库时编译报错的问题46

4.2.3九妹和按钮搭配48

4.2.4丰富多彩的按钮事件49

4.2.5啰嗦一下——CCControlButton特别的小功能51

4.3控件篇2——我不是DJ之圆形音量按钮51

4.3.1圆形音量按钮51

4.4控件篇3——我要战斗之血量条54

4.4.1又是一个音量控制按钮54

4.4.2我要的血量条55

4.5动作篇1——简简单单的运动56

4.5.1你想去哪,你想走多远——CCMoveTo和CCMoveBy56

4.5.2我要减肥——CCScaleTo和CCScaleBy58

4.5.3卡牌翻转特效——用CCScaleTo就可以实现61

4.5.4闪亮登场——CCBlink62

4.6动作讲解2——更复杂的运动63

4.6.1我要你按照我的路线走——CCBezierTo和CCBezierBy63

4.6.2我没让你停,重复动作——CCRepeatForever66

4.6.3动作一起做,一边走一边转一边跳——CCSequence67

4.7动作讲解3——动作监听69

4.7.1小若,到家了告诉我一声——动作结束监听69

4.7.2动作家族族谱70

4.8屏幕触摸事件72

4.8.1屏幕事件初探72

4.8.2复数形式的函数——每个CCLayer都能获取屏幕事件75

4.8.3单数形式的函数——截断事件,一个CCLayer的垄断77

第5章 是时候跑起来了——《LittleRunner》80

5.1这是一个什么游戏80

5.2找个主角回来——创建主角精灵81

5.2.1创建筛选器81

5.2.2创建实体基类82

5.2.3创建主角类83

5.2.4创建游戏场景84

5.2.5修改游戏窗口大小87

5.3其实她不想跑——创建无限滚动地图87

5.3.1每一帧都可以操作——scheduleUpdate初探87

5.3.2翻滚吧,地图——地图无限滚动89

5.4开心的时候——让主角跳起来91

5.4.1 CCControlButton的应用——创建跳跃按钮91

5.4.2 CCJumpBy的应用——给主角添加跳跃动作93

5.5金钱诱惑——加入怪物95

5.5.1怪物诞生95

5.5.2怪物巢穴——创建怪物管理器97

5.5.3贪婪的主角——怪物碰撞检测99

5.5.4疼了就退后——增加主角受伤时的动作103

5.6监控一切——创建分数标签、血量条等属性对象105

第6章 精灵来了第二季109

6.1一大波精灵来袭——大量精灵单独绘制的缺陷109

6.2把相同的精灵装上车——使用CCSpriteBatchNode优化绘制110

6.2.1一次渲染——CCSpriteBatchNode的特别之处110

6.2.2什么是纹理——CCTexture简单解说112

6.3遇到不同的精灵怎么办——TexturePacker工具使用114

6.3.1同一张图片,同一个纹理114

6.3.2将多张图片打包到一起115

6.3.3加载打包后的图片117

6.4是动画,不是动作——CCAnimation118

6.4.1用打包前的图片创建动画118

6.4.2用打包后的图片创建动画121

6.4.3额外赠送——动画创建辅助类123

第7章 游戏实例之《跑跑跑》127

7.1更丰富的世界——使用Tiled地图127

7.1.1世界诞生——创建跑步场景127

7.1.2 Tiled地图来了——使用Tiled Map Editor创建地图文件129

7.1.3你报错了吗——Tiled Editor常见路径错误130

7.2嘿,培养新人——创建新的主角131

7.2.1主角诞生——创建实体类和主角类131

7.2.2固定主角出生点——对象层的使用134

7.2.3让主角跑——添加主角动画136

7.3更智能的主角——添加角色控制器137

7.3.1创建控制器基类137

7.3.2带着它就能跑——主角移动控制器138

7.3.3焦点是主角——让地图随着主角滚动141

7.4更多的内容144

7.4.1让主角上下移动——三方移动控制器144

7.4.2添加障碍物——Tiled障碍层的使用148

7.4.3添加能吃的物品以及胜利条件153

第8章 用多线程做定时器?你疯了——schedule很强大158

8.1我爱单线程——schedule介绍158

8.2每一帧都有我——scheduleUpdate和 update158

8.3定时器可以这么做——schedule和回调函数160

8.3.1不调用update函数,调用自己的函数160

8.3.2真正的定时器162

8.4让一切都停下来——unSchedule162

8.5触发器可以这么做——scheduleOnce和回调函数164

8.6额外赠送,我总是很关注我暗恋的女孩——观察者模式165

8.6.1你喜欢谁?我帮你留意——观察者模式扫盲165

8.6.2 Cocos2d-x提供的观察者模式工具类——CCNotificationCenter166

8.6.3 addObserver和postNotification函数传递数据的区别170

8.6.4额外赠送——自己实现简单的观察者172

第9章 野外生存训练177

9.1师父走了,你怎么办——学会查看官方Demo177

9.2迟早都要学会——学习查看Demo源代码178

9.3别忘了开源——学习查看Cocos2d-x源代码179

9.3.1为什么addObserver和postNotification不能同时传递数据179

9.4物竞天择,没用的就要被淘汰——rtain和release183

9.4.1为什么会有retain183

9.4.2真正的凶手autoRelease183

9.4.3看代码实际点183

9.4.4原理来了186

9.4.5实际情况187

9.4.6倒底什么时候要retain187

9.5再传授几招188

9.5.1在调试项目时,跟踪并进入Cocos2d-x的源码188

9.5.2什么?你忘了保存记忆?我们一起十年了啊——保存数据189

9.6我能摆脱编译的噩梦——读取Csv配置文件191

9.6.1什么是Csv文件——Csv格式文件扫盲191

9.6.2如何创建一个Csv文件192

9.6.3预热——编写字符串工具类193

9.6.4辅助工具——编写文本读取工具类196

9.6.5进入主题——编写Csv文件读取工具类197

第10章 睡觉的时候不要吃东西——有限状态机205

10.1花5分钟告诉你什么是有限状态机205

10.1.1简单认识205

10.1.2一个很“好玩”的游戏205

10.1.3实现简单有限状态机的类206

10.2状态模式之我很胖但我很强209

10.2.1什么是状态模式209

10.2.2用状态模式实现有限状态机211

10.3真正的状态机来了216

10.3.1创建状态机类216

10.3.2被释放的木头类218

10.4事件驱动,你想象不到的强大221

10.4.1彻底抛弃update函数——新的状态机类221

10.4.2更智能的状态类224

10.4.3见证新的运作情况225

第11章 我比Csv更厉害——强大的Lua228

11.1让Lua和C++牵手228

11.1.1 Lua的堆栈和全局表228

11.1.2 Lua和C++的第一次通信228

11.2Demo讲解之Lua和C++牵手229

11.2.1引入头文件230

11.2.2开始使用231

11.2.3执行Lua脚本232

11.2.4重置栈顶索引,将全局变量放到堆栈中233

11.2.5最后一步,C++取得字符串233

11.3简单解析Lua的堆栈234

11.4来点高难度的,获取Lua表结构的数据235

11.4.1什么是table235

11.4.2获取table变量236

11.4.3 lua_gettable函数236

11.5C++调用Lua函数239

11.6Lua调用C++的函数240

第12章 额外奉献,状态机代码生成工具——SMC244

12.1加快状态机开发速度——SMC是什么244

12.2永远都从HelloWorld开始245

12.2.1这是令牌——sm配置文件245

12.2.2化令牌为力量——使用Smc.jar将配置文件转换为代码246

12.2.3一劳永逸——更方便的代码转换方式247

12.2.4整装待发——导入所需文件到项目中247

12.2.5最后的最后——编写主体类248

12.2.6简单解析原理249

12.3实例之SMC版木头写代码252

12.3.1木头的逻辑252

12.3.2编写剧本——sm配置文件253

12.3.3主角诞生——编写Mutou主体类255

12.3.4导演开拍——编写触发状态切换的功能259

第13章 自力更生——自己定一个UI模块264

13.1刚开始必须要轻松一下——UI模块思路简介264

13.1.1它能为我们做些什么——UI模块包含的功能264

13.1.2一览众山小——UI模块设计思路图265

13.2XML文件和属性模块266

13.2.1一切的源头——UI的XML配置文件266

13.2.2知识补充1——TinyXML介绍268

13.2.3知识补充2——TinyXML的HelloWorld268

13.2.4知识补充3——用TinyXML读取UI模块的XML配置文件272

13.2.5封装,我们要记住封装——XML标签节点对象276

13.2.6我负责保存,你负责修饰——XML标签节点属性设置器283

13.3尝点甜头——创建控件286

13.4主角来了——组件288

13.4.1控件基类——MMBase289

13.4.2普通窗口控件——MMNormalWin290

13.4.3标签控件——MMLabel291

13.4.4甜点来了——测试新的控件类293

13.5控件管理模块296

13.5.1我是老大——MMWinManager控件管理器296

13.5.2我是先锋——MMWinSystem控件系统300

13.5.3我是前台——MMWinDesktop控件顶层桌面304

13.6控件工厂305

13.6.1抽象工厂之MMWinBaseFactory305

13.6.2控件工厂之MMWinFactory306

13.6.3装饰工厂之MMWinProperityFactory307

13.6.4最后的事情——运行项目310

13.7更完整的UI模块311

第14章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(上篇)313

14.1开篇——最后的游戏实例313

14.1.1为什么是塔防游戏313

14.1.2《卡牌塔防》功能简介——我们能学到哪些知识313

14.2启程——关卡编辑器315

14.2.1一个英雄一个坑——炮台坐标编辑器315

14.2.2按照我给的路径走——怪物坐标编辑器335

14.2.3添加更多方便的操作343

14.3磨刀不误砍柴工——预备知识350

14.3.1导演的助手——场景管理器350

14.3.2数据读取模块353

14.3.3全局参数354

14.3.4请说英文好吗?不,说中文——118N工具类356

14.3.5导入UI模块和TinyXml模块360

第15章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(下篇)363

15.1英雄诞生363

15.1.1创建关卡场景363

15.1.2地图层364

15.1.3实体基类367

15.1.4英雄管理器1——炮台对象370

15.1.5英雄管理器2——英雄对象375

15.1.6英雄管理器3——炮台和英雄的关系379

15.1.7英雄管理器4——加入创建英雄的功能380

15.2怪物来袭382

15.2.1怪物管理器382

15.2.2移动控制器1——控制器基类388

15.2.3移动控制器2——移动控制器基类389

15.2.4移动控制器3——按指定坐标列表移动391

15.2.5怪物来了395

15.3英雄进攻399

15.3.1英雄的一次攻击流程399

15.3.2在Hero里获取怪物列表400

15.3.3查找并锁定攻击目标403

15.3.4英雄的攻击404

15.3.5子弹管理器1——子弹类407

15.3.6子弹管理器2——子弹管理器410

15.3.7子弹管理器3——英雄开始发射子弹414

15.4华丽的装饰415

15.4.1怪物血量条415

15.4.2炮台操作按钮——英雄华丽升级419

15.4.3怪物起点和终点魔法台423

第16章 倾情奉献——因为偷懒而诞生的《卡牌塔防》游戏(终结篇)427

16.1关卡信息UI427

16.1.1利用自定义UI模块制作关卡信息面板427

16.1.2关卡信息数据刷新——CCNotificationCenter的应用432

16.1.3怪物数量刷新437

16.1.4怪物安息——怪物死亡后塔魂数量刷新438

16.1.5堡垒安息——怪物到达堡垒后扣除魔力值439

16.1.6打怪升级——英雄升级扣除塔魂443

16.2谢幕444

16.2.1关卡选择——根据关卡数加载游戏445

16.2.2胜利条件判断448

16.2.3失败条件判断452

16.3移植游戏到Android平台452

16.3.1傻瓜式的Android环境搭建1——准备工作453

16.3.2傻瓜式的Android环境搭建2——解压和安装454

16.3.3傻瓜式的Android环境搭建3——测试一下吧457

16.3.4不需要Cygwin——生成并导入Android项目458

16.3.5怎么编译C++文件——创建Builder459

16.3.6开始编译——Android.mk文件464

第17章 额外的一些东西468

17.1常见错误及解决方案468

17.1.1调用可变参数函数时,总是莫名报错468

17.1.2无法解析的外部符号(或命令)468

17.1.3 Android移植编译报错——undefined reference to469

17.1.4使用了TinyXML后,移植到Android中运行报错469

17.1.5 CCLabelTTF变成了一个黑块——多线程引起的Bug470

17.2最后的内容470

17.2.1不管游戏多快,一帧就是一帧,我们能做很多事情470

17.2.2给读者的惊喜——丁小若寄语471

17.2.3请提供你的意见以及你发现的Bug471

热门推荐