Cocos2d-x 3.x游戏开发之旅

Cocos2d-x 3.x游戏开发之旅

钟迪龙, 著

出版社:电子工业出版社

年代:2014

定价:79.0

书籍简介:

本书是《Cocos2d-x 游戏开发之旅》的升级版,修改了2.0版进阶到3.0版后的一些内容,新增了对Cocostudio、 UI编辑器、Cocos2d-x3.0新特性以及网络方面的知识点。主要包括介绍常用的API使用方式;介绍如何通过官方Demo获取更多关于Cocos2d-x的API使用方法;介绍Cocostudio和Cocos Code IDE基础使用方法;通过2到3个游戏实例介绍Cocos2d-x在实际开发中的应用;手机网络游戏开发入门;介绍在实际的手游开发过程中遇到的问题以及解决方。

书籍目录:

第1章 开学典礼 / 11.1 出场人物介绍 / 11.2 入学要求――本书适合人群 / 21.3 这内容有点糟糕――本书风格 / 21.4 你需要这些技能――学Cocos2d-x需要什么知识 / 31.5 我们为什么要学Cocos2d-x 3.0 / 41.6 先给我们的代码找个温馨的家――环境搭建 / 41.6.1 黑色风暴之VS2013 / 41.6.2 我的Cocos2d-x版本 / 51.6.3 我们还需要做一些准备工作 / 61.6.4 半自动配置环境变量 / 61.6.5 看看前辈们的毕业设计――运行官方Demo / 81.7 广告时间――提供一些学习资源 / 10第2章 不离不弃的HelloWorld / 122.1 简单到法想象――直接运行HelloWorld项目 / 122.2 新建Cocos2d-x项目遇到的麻烦――成功新建一个HelloWorld / 142.2.1 创建Cocos2d-x 3.0项目 / 142.3 HelloWorld,没有想象中的简单――简单解析HelloWorld / 162.3.1 HelloWorld是如何显示到窗口的 / 162.3.2 场景其实不是真正的场景 / 172.4 实例来了 / 202.4.1 题外话――一个工程多个项目,避免重复编译 / 202.4.2 创建属于自己的HelloWorld / 23第3章 我们来学习怎么爬行 / 283.1 环游世界――场景 / 283.2 一切的主宰――导演 / 293.2.1 加载第一个场景 / 293.2.2 简单的切换场景 / 293.2.3 包含特效的切换场景 / 313.2.4 赠送的――推进和弹出场景 / 333.3 你走你的,我走我的――层 / 353.4 比对象还要可爱的对象――精灵来了 / 363.5 我得下命令――菜单 / 373.6 当个背包客――节点 / 393.7 Cocos2d-x 3.0新成员――Value、Vector、Map / 403.7.1 有容乃大――Value / 413.7.2 给我排好队――Vector / 423.7.3 对号入座――Map / 443.7.4 Value的超能力――整数、浮点数、字符串之间的转换 / 46第4章 我们来学习怎么走路 / 474.1 吉他独奏《天空之城》――播放声音 / 474.2 控件篇1――我最爱的九妹和按钮事件 / 484.2.1 你好,九妹――可拉伸图片 / 484.2.2 解决使用extensions库时编译报错的问题 / 494.2.3 九妹和按钮搭配 / 514.3 可视化的世界――CocoStudio UI编辑器 / 53本节实例源代码为:Chapter4_2_Scale9Sprite / 534.3.1 还在用代码写UI?你傻了吧 / 534.3.2 只需要拖动――UI编辑器初探 / 544.3.3 更丰富的UI――导入图片资源 / 564.3.4 更丰富的UI――导出最终文件 / 584.3.5 展示成果――在游戏中加载UI / 594.3.6 我要互动――按钮监听事件 / 624.4 番外篇――CocoStudio UI编辑器进阶功能 / 654.4.1 要死、要死、要死了之血量条 / 654.4.2 我要藏起来之滑动层 / 68第5章 我们来学习怎么打架 / 725.1 动作讲解1――简简单单的运动 / 725.1.1 你想去哪,你想走多远――MoveTo和MoveBy / 725.1.2 我要减肥――ScaleTo和ScaleBy / 745.1.3 卡牌翻转特效――用ScaleTo就可以实现 / 775.1.4 闪亮登场――Blink / 775.2 动作讲解2――更复杂的运动 / 795.2.1 我要你按照我的路线走――BezierTo和BezierBy / 795.2.2 我没让你停,重复动作――RepeatForever / 815.2.3 动作一起做,一边走一边转一边跳――Sequence与Spawn / 825.3 动作讲解3――动作监听 / 845.3.1 小若,到家了告诉我一声――动作结束监听 / 845.3.2 更方便的函数回调――lambda / 855.3.3 动作家族族谱 / 885.4 屏幕触摸事件 / 895.4.1 屏幕事件初探 / 895.4.2 单点触摸――截断事件,一个对象的垄断 / 915.4.3 多点触摸――太弱了,一起上吧 / 94第6章 是时候跑起来了――《LittleRunner》/ 996.1 这是一个什么游戏 / 996.2 找个主角回来――创建主角精灵 / 1006.2.1 创建筛选器 / 1006.2.2 创建实体基类 / 1016.2.3 创建主角类 / 1026.2.4 创建游戏场景 / 1036.2.5 修改游戏窗口大小 / 1066.3 其实她不想跑――创建限滚动地图 / 1076.3.1 每一帧都可以操作――scheduleUpdate初探 / 1076.3.2 翻滚吧,地图――地图限滚动 / 1096.4 开心的时候――让主角跳起来 / 1116.4.1 Button的应用――创建跳跃按钮 / 1116.4.2 JumpBy的应用――给主角添加跳跃动作 / 1126.5 金钱诱惑――加入怪物 / 1146.5.1 怪物诞生 / 1146.5.2 怪物巢穴――创建怪物管理器 / 1166.5.3 贪婪的主角――怪物碰撞检测 / 1196.5.4 怪物碰不到主角――使用组合的小麻烦 / 1226.5.5 疼了就退后――增加主角受伤时的动作 / 1236.6 监控一切――创建分数标签、血量条等属性对象 / 125第7章 精灵来了第二季 / 1297.1 一大波精灵来袭――大量精灵单独绘制的缺陷 / 1297.1.1 2.0的回忆――大量绘制精灵的尴尬 / 1297.1.2 3.0新功能――Auto-batching / 1307.1.3 没有完美的事物――Auto-batching“驾驭手册” / 1317.1.4 谁先上的问题――setGlobalZOrder、setLocalZOrder、setOrderOfArrival / 1347.1.5 附赠甜品――Auto-batching源码级深入分析 / 1387.2 把相同的精灵装上车――使用SpriteBatchNode优化绘制 / 1447.2.1 一次渲染――SpriteBatchNode的特别之处 / 1447.2.2 什么是纹理――Texture简单解说 / 1467.3 遇到不同的精灵怎么办――TexturePacker工具使用 / 1477.3.1 同一张图片,同一个纹理 / 1487.3.2 将多张图片打包到一起 / 1497.3.3 加载打包后的图片 / 1517.4 是动画,不是动作――Animation / 1527.4.1 用打包前的图片创建动画 / 1527.4.2 用打包后的图片创建动画 / 1547.4.3 额外赠送――动画创建辅助类 / 156第8章 游戏实例之《跑跑跑》 / 1608.1 更丰富的世界――使用Tiled地图 / 1608.1.1 世界诞生――创建跑步场景 / 1608.1.2 Tiled地图来了――使用Tiled Map Editor创建地图文件 / 1628.1.3 你报错了吗――Tiled Editor常见路径错误 / 1638.2 嘿,培养新人――创建新的主角 / 1648.2.1 主角诞生――创建实体类和主角类 / 1648.2.2 固定主角出生点――对象层的使用 / 1678.2.3 让主角跑――添加主角动画 / 1698.3 更智能的主角――添加角色控制器 / 1708.3.1 创建控制器基类 / 1708.3.2 带着它就能跑――主角移动控制器 / 1728.3.3 焦点是主角――让地图随着主角滚动 / 1758.4 更多的内容 / 1788.4.1 让主角上下移动――三方移动控制器 / 1788.4.2 添加障碍物――Tiled障碍层的使用 / 1818.4.3 添加能吃的物品以及胜利条件 / 187第9章 用多线程做定时器?你疯了――schedule很强大 / 1919.1 我爱单线程――schedule介绍 / 1919.2 每一帧都有我――scheduleUpdate和update / 1919.3 定时器可以这么做――schedule和回调函数 / 1939.3.1 不调用update函数,调用自己的函数 / 1939.3.2 真正的定时器 / 1949.4 让一切都停下来――unSchedule / 1959.5 触发器可以这么做――scheduleOnce和回调函数 / 1979.6 准确的计时功能――制作定时器 / 1989.6.1 schedule并没有那么准时――越走越慢的时间 / 1989.6.2 更准确地计时――不会变慢的时间 / 2009.6.3 制作定时炸弹――方便的定时回调功能封装 / 2039.7 额外赠送,我总是很关注我暗恋的女孩――观察者模式 / 2059.7.1 你喜欢谁?我帮你留意――观察者模式扫盲 / 2059.7.2 Cocos2d-x提供的观察者模式工具类――NotificationCenter / 2069.7.3 addObserver和postNotification函数传递数据的区别 / 2099.7.4 额外赠送――自己实现简单的观察者 / 211第10章 野外生存训练 / 21610.1 师父走了,你怎么办――学会查看官方Demo / 21610.2 迟早都要学会――学习查看Demo源代码 / 21710.3 别忘了开源――学习查看Cocos2d-x源代码 / 21810.3.1 为什么addObserver和postNotification不能同时传递数据 / 21810.4 物竞天择,没用的就要被淘汰――retain和release / 22110.4.1 为什么会有retain / 22110.4.2 真正的凶手autoRelease / 22210.4.3 看代码实际点 / 22210.4.4 原理来了 / 22410.4.5 实际情况 / 22510.4.6 到底什么时候要retain / 22510.5 什么?你忘了保存记忆?我们一起十年了啊――保存数据 / 22610.6 我能摆脱编译的噩梦――读取Csv配置文件 / 22710.6.1 什么是Csv文件――Csv格式文件扫盲 / 22810.6.2 如何创建一个Csv文件 / 22810.6.3 预热――编写字符串工具类 / 22910.6.4 一切都是对象――Csv文件对象类 / 23110.6.5 进入主题――编写Csv文件读取工具类 / 23310.7 再给编译噩梦粉碎一击――更方便扩展的JSON / 23810.7.1 JSON又是什么――基础扫盲 / 23810.7.2 拿好你的武器――导入JsonCpp解析库 / 23910.7.3 就是这么简单――读取JSON文件 / 24110.7.4 进阶挑战――读取嵌套结构的JSON文件 / 24210.7.5 进阶挑战――读取数组结构的JSON文件 / 24310.7.6 进阶挑战――输出JSON文件 / 244第11章 睡觉的时候不要吃东西――有限状态机 / 24711.1 花5分钟告诉你什么是有限状态机 / 24711.1.1 简单认识 / 24711.1.2 一个很“好玩”的游戏 / 24711.1.3 实现简单有限状态机的类 / 24811.2 状态模式之我很胖但我很强 / 25111.2.1 什么是状态模式 / 25111.2.2 用状态模式实现有限状态机 / 25211.3 真正的状态机来了 / 25811.3.1 创建状态机类 / 25811.3.2 被释放的木头类 / 26011.4 事件驱动,你想象不到的强大 / 26311.4.1 彻底抛弃update函数――新的状态机类 / 26311.4.2 更智能的状态类 / 26611.4.3 见证新的运作情况 / 267第12章 我比Csv更厉害――强大的Lua / 26912.1 让Lua和C++牵手 / 26912.1.1 Lua的堆栈和全局表 / 26912.1.2 Lua和C++的第一次通信 / 26912.2 Demo讲解之Lua和C++牵手 / 27012.2.1 引入Lua库 / 27112.2.2 开始使用 / 27212.2.3 执行Lua脚本 / 27312.2.4 重置栈顶索引,将全局变量放到堆栈中 / 27412.2.5 最后一步,C++取得字符串 / 27412.3 简单解析Lua的堆栈 / 27612.4 来点高难度的,获取Lua表结构的数据 / 27612.4.1 什么是table / 27712.4.2 获取table变量 / 27712.4.3 lua_gettable函数 / 27712.5 C++调用Lua函数 / 28012.6 Lua调用C++的函数 / 281第13章 自力更生――自己写一个UI模块 / 28513.1 刚开始必须要轻松一下――UI模块思路简介 / 28513.1.1 它能为我们做些什么――UI模块包含的功能 / 28513.1.2 一览众山小――UI模块设计思路图 / 28613.2 XML文件和属性模块 / 28713.2.1 一切的源头――UI的XML配置文件 / 28713.2.2 知识补充1――TinyXML介绍 / 28913.2.3 知识补充2――TinyXML的HelloWorld / 28913.2.4 知识补充3――用TinyXML读取UI模块的XML配置文件 / 29213.2.5 封装,我们要记住封装――XML标签节点对象 / 29613.2.6 我负责保存,你负责修饰――XML标签节点属性设置器 / 30213.3 尝点甜头――创建控件 / 30513.4 主角来了――组件 / 30813.4.1 控件基类――MMBase / 30813.4.2 普通窗口控件――MMNormalWin / 30913.4.3 标签控件――MMLabel / 31113.4.4 甜点来了――测试新的控件类 / 31213.5 控件管理模块 / 31413.5.1 我是老大――MMWinManager控件管理器 / 31413.5.2 我是先锋――MMWinSystem控件系统 / 31813.5.3 我是前台――MMWinDesktop控件顶层桌面 / 32113.6 控件工厂 / 32213.6.1 抽象工厂之MMWinBaseFactory / 32213.6.2 控件工厂之MMWinFactory / 32313.6.3 装饰工厂之MMWinProperityFactory / 32413.6.4 最后的事情――运行项目 / 326第14章 倾情奉献――因为偷懒而诞生的《卡牌塔防》游戏(上篇)/ 32914.1 开篇――最后的游戏实例 / 32914.1.1 为什么是塔防游戏 / 32914.1.2 《卡牌塔防》功能简介――我们能学到哪些知识 / 32914.2 启程――关卡编辑器 / 33014.2.1 一个英雄一个坑――炮台坐标编辑器 / 33114.2.2 按照我给的路径走――怪物坐标编辑器 / 34814.2.3 添加更多方便的操作 / 35614.3 磨刀不误砍柴工――预备知识 / 36114.3.1 导演的助手――场景管理器 / 36114.3.2 数据读取模块 / 36414.3.3 全局参数 / 36514.3.4 请说英文好吗?不,说中文――I18N工具类 / 366第15章 倾情奉献――因为偷懒而诞生的《卡牌塔防》游戏(下篇)/ 37215.1 英雄诞生 / 37215.1.1 创建关卡场景 / 37215.1.2 地图层 / 37315.1.3 实体基类 / 37515.1.4 英雄管理器1――炮台对象 / 37815.1.5 英雄管理器2――英雄对象 / 38215.1.6 英雄管理器3――炮台和英雄的关系 / 38615.1.7 英雄管理器4――加入创建英雄的功能 / 38715.2 怪物来袭 / 38915.2.1 怪物管理器 / 38915.2.2 移动控制器1――控制器基类 / 39415.2.3 移动控制器2――移动控制器基类 / 39415.2.4 移动控制器3――按指定坐标列表移动 / 39615.2.5 怪物来了 / 40015.3 英雄进攻 / 40415.3.1 英雄的一次攻击流程 / 40415.3.2 在Hero里获取怪物列表 / 40515.3.3 查找并锁定攻击目标 / 40615.3.4 英雄的攻击 / 40715.3.5 子弹管理器1――子弹类 / 40915.3.6 子弹管理器2――子弹管理器 / 41315.3.7 子弹管理器3――英雄开始发射子弹 / 41615.4 华丽的装饰 / 41715.4.1 怪物血量条 / 41715.4.2 炮台操作按钮――英雄华丽升级 / 41915.4.3 怪物起点和终点魔法台 / 425第16章 倾情奉献――因为偷懒而诞生的《卡牌塔防》游戏(终结篇)/ 42816.1 关卡信息UI / 42816.1.1 利用UI编辑器制作关卡信息面板 / 42816.1.2 关卡信息数据刷新――NotificationCenter的应用 / 43116.1.3 怪物数量刷新 / 43516.1.4 怪物安息――怪物死亡后塔魂数量刷新 / 43516.1.5 堡垒安息――怪物到达堡垒后扣除魔力值 / 43616.1.6 打怪升级――英雄升级扣除塔魂 / 43816.2 谢幕 / 43916.2.1 关卡选择――根据关卡数加载游戏 / 43916.2.2 胜利条件判断 / 44316.2.3 失败条件判断 / 44616.3 移植游戏到Android平台 / 44716.3.1 傻瓜式的Android环境搭建1――准备工作 / 44716.3.2 傻瓜式的Android环境搭建2――解压和安装 / 44816.3.3 傻瓜式的Android环境搭建3――测试一下吧 / 45116.3.4 准备工作――导入Android项目 / 45316.3.5 一劳永逸――修改Android.mk文件 / 45516.3.6 开始编译――build_native.py文件 / 458第17章 我不要一个人玩游戏――网络游戏入门 / 46017.1 只能给你一块敲门砖――本章带给大家的内容 / 46017.2 左手画方右手画圆――多线程 / 46117.3 从最简单的开始――从建立连接到接收数据 / 46417.3.1 偷偷和别人连接――使用ODSocket与服务器建立连接 / 46517.3.2 不务正业――编写一个测试服务端 / 46717.3.3 言归正传――编写我们的Cocos2d-x客户端 / 46917.4 你得真的像个网游――服务端与客户端交互逻辑 / 47117.4.1 逃避多线程――更安全的数据接收处理 / 47117.4.2 进入游戏――服务端通知客户端进入游戏场景 / 47617.4.3 更多的人――请求在线人数,添加所有玩家到场景中 / 48017.4.4 新人要报到――有新玩家加入,通知已在线玩家 / 484第18章 额外的一些东西 / 48618.1 常见错误及解决方案 / 48618.1.1 调用可变参数函数时,总是莫名报错 / 48618.1.2 法解析的外部符号(或命令) / 48618.1.3 Android移植编译报错――undefined reference to / 48718.1.4 Label变成了一个黑块――多线程引起的Bug / 48718.1.5 中断窗口 / 48718.1.6 重复切换场景后端报错 / 48818.2 游戏发布流程(概述) / 48918.2.1 给游戏加入广告SDK / 48918.2.2 加入统计SDK / 49018.2.3 上传游戏到各个市场 / 49118.3 未来的趋势 / 49218.3.1 云后端服务 / 49218.3.2 社交SDK / 49218.3.3 Cocos Code IDE / 49318.3.4 CocoStudio / 49318.4 安全意识 / 49318.4.1 加密的数据类型,拒绝游戏修改器 / 49418.4.2 防止打包党的一些小技巧 / 49518.5 游戏开发思维 / 49718.5.1 不管游戏多快,一帧就是一帧,我们能做很多事情 / 49718.5.2 随机应变,利用不经意的Bug创造更多玩法 / 49718.6 最后的最后 / 49818.6.1 最快速找到木头的方式 / 49818.6.2 给读者的惊喜――丁小若寄语 / 49918.6.3 请提供你的意见和你发现的Bug / 499

内容摘要:

《Cocos2d-x3.x游戏开发之旅》是《Cocos2d-x游戏开发之旅》的升级版,修改了2.0版进阶到3.0版后的一些内容,新增了对CocoStudio、UI编辑器、Cocos2d-x3.0新特性以及网络方面的知识点。主要介绍常用的API使用方式;介绍如何通过官方Demo获取更多关于Cocos2d-x的API使用方法;介绍CocoStudio和CocosCodeIDE基础使用方法;通过2到3个游戏实例介绍Cocos2d-x在实际开发中的应用;手机网络游戏开发入门;介绍在实际的手游开发过程中遇到的问题以及解决方法。【作者简介】2010年7月至2011年7月,上海华腾软件有限公司 深圳项目组 2011年7月2013年8月,深圳创娱网络科技有限公司 Android网游客户端开发。2014年至今,独立开发游戏。CSDN游戏版块版主,知名游戏开发程序员。曾经出版《Cocos2d-x游戏开发之旅》

书籍规格:

书籍详细信息
书名Cocos2d-x 3.x游戏开发之旅站内查询相似图书
9787121242762
如需购买下载《Cocos2d-x 3.x游戏开发之旅》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位电子工业出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸26 × 19装帧平装
页数印数

书籍信息归属:

Cocos2d-x 3.x游戏开发之旅是电子工业出版社于2014.10出版的中图分类号为 TN929.53 ,TP368.32 的主题关于 移动电话机-游戏程序-程序设计 ,便携式计算机-游戏程序-程序设计 的书籍。