《Cocos2d-x游戏开发》分成《基础卷》和《进阶卷》2个分册。两卷书藉都是有确立的创作目地。《基础卷》致力于Cocos2d-x模块基础,着眼于让Cocos2d-x新手变成一个基础扎扎实实、可靠的程序猿。《进阶卷》致力于各种各样技木,是创作者很多年开发设计工作经验的结晶体,书里的技术性点大多数是根据具体工作上遇到的难题提炼出而成,从难题的实质考虑到解决困难的构思,出示了多种多样解决方法,并比照各计划方案的优点和缺点,启迪阅读者思索。
这书为《Cocos2d-x游戏开发》的《基础卷》,共31章,分成4篇。第1篇为《入门篇》,涵盖的主要内容有Cocos2d-x开发工具、学习建议、常见问题及低等不正确小结,及其必需的C程序编写基础和表针专业知识等。第二篇为《基础框架篇》,涵盖的主要内容有连接点系统软件、代码优化、情景和层、小精灵、姿势系统软件、动漫、纹路、文本、管理机制、3D渲染体制、信息体制和Schedule等。第三篇为《UI与交互篇》,涵盖的主要内容有触碰输入、文字输入、按键与重力感应器输入、Menu和MenuItem,及其GUI架构的作用控件、文字输入、文字显示信息及器皿控件等。第四篇为《CocoStudio工具链篇》,涵盖的主要内容有CocoStudio的UI在线编辑器、场景编辑器、动漫在线编辑器、2.x在线编辑器及CocosBuilder等。
这书合适学习培训Cocos2d-x游戏开发的零基础阅读者阅读文章,特别是在合适Cocos2d-x通过自学工作人员。针对公办专科学校的学员和社会发展培训机构的学生,这书也是一本难能可贵的学习培训实例教程。
目录
- 第1篇 入门篇
- 第1章 Cocos2d-x启航
- 1.1 特点、内容结构以及建议
- 1.2 Cocos2d-x简介
- 1.3 从2.x到3.x
- 1.4 约定
- 1.5 启航
- 1.5.1 Windows
- 1.5.2 Mac
- 1.5.3 Linux
- 1.5.4 Cocos引擎
- 第2章 使用Cocos2d-x
- 2.1 Cocos2d-x世界
- 2.1.1 显示图片
- 2.1.2 执行逻辑
- 2.1.3 获取输入
- 2.2 分析HelloCpp
- 2.3 小结
- 第3章 低级错误大全
- 3.1 create和retain-release
- 3.2 继承对象的create
- 3.3 多个对象执行同一个Action
- 3.4 忘记调用父类的虚函数
- 3.5 隐藏在代码中的神秘杀手,节点中的节点操作
- 3.6 普通对象和new出来的对象
- 3.7 不要忘记init
- 3.8 addChild失败
- 3.9 在onEnter中调用parent的addChild
- 3.10 忘记移除
- 3.11 重载draw注意事项
- 3.12 关于引用
- 3.13 关于命名空间
- 3.14 关于类之间的互相包含
- 3.15 关于平台相关的API
- 3.16 关于update中写逻辑
- 3.17 关于调试
- 3.18 小结
- 第4章 图解指针
- 4.1 指针与内存
- 4.2 指针操作
- 4.3 指针与数组
- 4.4 函数指针
- 4.5 野指针和内存泄漏
- 第5章 C 11简介
- 5.1 初始化列表
- 5.2 类型推导
- 5.3 范围推导
- 5.4 智能指针和空指针
- 5.5 Lambda特性
- 5.6 变长参数模板
- 5.7 右值引用
- 5.7.1 分辨左值和右值
- 5.7.2 移动语义
- 5.7.3 完美转发
- 5.8 显式虚函数重载
- 5.9 小结
- 第2篇 基础框架篇
- 第6章 节点系统
- 6.1 节点的表现
- 6.1.1 位置
- 6.1.2 旋转和倾斜
- 6.1.3 缩放
- 6.1.4 锚点Anchor
- 6.1.5 渲染顺序ZOrder
- 6.1.6 尺寸
- 6.1.7 懒惰计算
- 6.1.8 其他属性介绍
- 6.2 节点的使用
- 6.2.1 使用Action
- 6.2.2 使用Schedule
- 6.3 节点和节点
- 6.3.1 添加子节点
- 6.3.2 删除节点
- 6.3.3 节点查询
- 6.3.4 节点之间的空间变换
- 6.4 节点树的渲染
- 6.5 节点与组件
- 第7章 内存管理
- 7.1 内存基础知识
- 7.1.1 内存区域的划分
- 7.1.2 new和malloc的区别
- 7.1.3 堆和栈的区别
- 7.1.4 代码分析
- 7.2 内存泄露、野指针和跨动态链接库的内存使用
- 7.2.1 内存泄露
- 7.2.2 野指针
- 7.2.3 动态链接库的内存
- 7.3 Cocos2d-x的引用计数
- 7.4 容器对象的内存管理
- 7.5 复制对象
- 7.6 内存优化
- 第8章 场景和层
- 8.1 Scene场景
- 8.1.1 场景和Director
- 8.1.2 切换场景与引用计数
- 8.1.3 场景切换特效
- 8.2 Layer层
- 8.2.1 Layer层详解
- 8.2.2 LayerColor颜色层详解
- 8.2.3 LayerGradient渐变层详解
- 8.2.4 LayerMultiplex复合层详解
- 第9章 精灵详解
- 9.1 Sprite详解
- 9.1.1 使用Sprite
- 9.1.2 创建Sprite
- 9.1.3 初始化流程
- 9.1.4 设置纹理
- 9.1.5 渲染
- 9.2 SpriteFrame和SpriteFrameCache详解
- 9.2.1 SpriteFrame详解
- 9.2.2 SpriteFrameCache详解
- 9.2.3 SpriteFrameCache加载流程
- 9.3 SpriteBatchNode详解
- 9.3.1 创建SpriteBatchNode
- 9.3.2 添加与删除SpriteBatchNode
- 9.3.3 使用SpriteBatchNode
- 第10章 动作系统
- 10.1 使用Action
- 10.2 Action整体框架
- 10.2.1 Action类
- 10.2.2 ActionManager类
- 10.3 Action运行流程
- 10.3.1 瞬时动作ActionInstant
- 10.3.2 持续动作ActionInterval
- 10.3.3 组合动作
- 10.3.4 函数动作
- 10.3.5 时间动作
- 10.4 Action的分类
- 10.4.1 瞬间动作
- 10.4.2 持续动作
- 10.4.3 组合动作
- 10.4.4 变速动作
- 10.4.5 扩展动作
- 10.4.6 特效动作
- 第11章 播放动画
- 11.1 播放帧动画
- 11.2 创建Animation
- 11.2.1 基于Plist文件自动创建Animation
- 11.2.2 解析TexturePacker的Plist文件
- 11.2.3 使用AnimationCache
- 11.2.4 经验分享
- 11.3 帧动画框架剖析
- 11.3.1 帧动画系统结构
- 11.3.2 Animate运行流程
- 11.4 进度动画
- 11.4.1 半径扫描效果
- 11.4.2 水平扫描效果
- 11.4.3 垂直扫描效果
- 11.4.4 四边扩散/收缩效果
- 第12章 纹理详解
- 12.1 在Cocos2d-x中使用纹理
- 12.1.1 Texture的初始化
- 12.1.2 纹理和Sprite的关系
- 12.1.3 POT和NPOT
- 12.1.4 纹理混合 Blend
- 12.1.5 Alpha预乘
- 12.1.6 纹理参数
- 12.1.7 纹理过滤 Texture Filter
- 12.1.8 纹理环绕
- 12.1.9 Mip贴图
- 12.1.10 渲染纹理
- 12.2 管理纹理
- 12.2.1 使用TextureCache管理纹理
- 12.2.2 使用TextureCache加载纹理
- 12.2.3 异步加载纹理
- 12.3 纹理格式
- 12.4 纹理压缩
- 12.4.1 纹理压缩格式对比
- 12.4.2 在Cocos2d-x中使用纹理压缩
- 12.4.3 使ETC1支持透明
- 第13章 显示文字
- 13.1 使用Label
- 13.1.1 LabelTTF详解
- 13.1.2 LabelBMFont详解
- 13.1.3 LabelAtlas详解
- 13.1.4 Label详解
- 13.2 新Label框架剖析
- 13.2.1 整体框架
- 13.2.2 运行流程
- 13.2.3 STRING_TEXTURE类型Label的运行流程
- 13.2.4 使用FontAtlas的Label的运行流程
- 13.2.5 FontAtlas的创建流程
- 13.3 关于中文显示
- 13.3.1 使用中文配置文件csv/xml/plist
- 13.3.2 将代码文件转为UTF-8编码
- 13.3.3 使用iconv转换中文
- 13.4 造字工具
- 13.4.1 使用BMFont工具
- 13.4.2 使用Hiero工具
- 第14章 运行机制
- 14.1 Cocos2d-x内部运行流程
- 14.1.1 Application详解
- 14.1.2 Director详解
- 14.2 Cocos2d-x在Windows下的运行流程
- 14.3 Cocos2d-x在Android下的运行流程
- 14.3.1 启动游戏
- 14.3.2 游戏事件与主循环
- 14.4 Cocos2d-x在iOS下的运行流程
- 14.4.1 启动游戏
- 14.4.2 主循环
- 第15章 渲染机制
- 15.1 渲染树VS渲染命令
- 15.1.1 渲染树
- 15.1.2 渲染命令
- 15.2 Cocos2d-x 3.0渲染框架
- 15.3 渲染命令详解
- 第16章 消息机制
- 16.1 事件通知
- 16.2 NotificationCenter和EventDispatcher
- 16.2.1 使用EventDispatcher
- 16.2.2 相关接口
- 16.2.3 其他监听者
- 16.2.4 使用NotificationCenter
- 16.3 内部流程以及注意事项
- 16.3.1 消息的通知流程
- 16.3.2 消息的注册流程
- 16.3.3 消息的注销流程
- 16.4 小结
- 第17章 Schedule详解
- 17.1 Schedule接口简介
- 17.1.1 回调函数
- 17.1.2 注册回调
- 17.1.3 注销回调
- 17.1.4 时间缩放、暂停、恢复
- 17.1.5 优先级
- 17.1.6 线程安全
- 17.2 Schedule整体结构与运行流程
- 17.2.1 整体结构
- 17.2.2 外部流程
- 17.2.3 更新顺序
- 17.2.4 注册与注销
- 17.3 Schedule使用过程中的问题
- 第3篇 UI与交互篇
- 第18章 触摸输入
- 18.1 如何监听触摸消息
- 18.1.1 监听触摸消息
- 18.1.2 触摸监听者
- 18.1.3 触摸消息
- 18.1.4 注册监听
- 18.2 触摸输入运行流程
- 18.3 判断点击
- 18.4 多点触摸
- 18.5 点击穿透
- 第19章 文本输入
- 19.1 TextFieldTTF简介
- 19.2 使用TextFieldTTF
- 19.3 扩展TextFieldTTF
- 19.4 详解IME
- 第20章 按钮与重力感应输入
- 20.1 重力感应
- 20.1.1 摇一摇
- 20.1.2 多角度倾斜
- 20.2 物理按键
- 第21章 Menu和MenuItem详解
- 21.1 使用Menu和MenuItem
- 21.2 结构框架与执行流程
- 21.2.1 Menu详解
- 21.2.2 MenuItem详解
- 21.2.3 执行流程
- 21.3 MenuItem详解
- 21.3.1 MenuItemLabel详解
- 21.3.2 MenuItemAtlasFont详解
- 21.3.3 MenuItemFont详解
- 21.3.4 MenuItemSprite详解
- 21.3.5 MenuItemImage详解
- 21.3.6 MenuItemToggle详解
- 21.4 实现TabView
- 第22章 GUI框架概述
- 22.1 GUI框架简介
- 22.1.1 命名空间与头文件
- 22.1.2 工具方法
- 22.1.3 九宫缩放
- 22.2 UIWidget详解
- 22.2.1 保护节点ProtectNode
- 22.2.2 高亮相关
- 22.2.3 位置布局相关
- 22.2.4 触摸相关
- 22.2.5 控件焦点
- 22.2.6 实现自己的Widget
- 22.3 UILayout详解
- 22.3.1 Layout背景
- 22.3.2 裁剪
- 22.3.3 焦点查找
- 22.3.4 Layout布局
- 第23章 GUI框架之功能控件
- 23.1 UIButton控件
- 23.1.1 创建Button
- 23.1.2 加载图片
- 23.1.3 设置九宫
- 23.1.4 设置文字
- 23.2 UICheckBox控件
- 23.2.1 创建CheckBox
- 23.2.2 加载图片
- 23.2.3 选择
- 23.3 UIImageView控件
- 23.3.1 创建ImageView
- 23.3.2 纹理与九宫
- 23.4 UILoadingBar控件
- 23.4.1 创建LoadingBar
- 23.4.2 纹理与九宫
- 23.4.3 方向与进度
- 23.5 UISlider控件
- 23.5.1 创建与加载纹理
- 23.5.2 九宫
- 23.5.3 进度与回调
- 第24章 GUI框架之文本输入和显示
- 24.1 UIText、UITextAtlas和UITextBMFont文本显示控件
- 24.2 UIRichText文本显示控件
- 24.3 UITextField文本输入控件
- 24.3.1 创建TextField
- 24.3.2 触摸相关
- 24.3.3 输入密码
- 24.3.4 设置、获取文本
- 24.3.5 输入回调
- 24.3.6 自动换行与对齐
- 24.4 UIEditBox文本输入控件
- 24.4.1 创建EditBox
- 24.2.2 文本与输入提示文本
- 24.4.3 输入委托
- 24.4.4 输入模式
- 24.4.5 标签与限制
- 第25章 GUI框架之容器控件
- 25.1 UIScrollView容器控件
- 25.1.1 拖曳滚动
- 25.1.2 InnerContainer详解
- 25.2 UIListView容器控件
- 25.3 UIPageView容器控件
- 25.4 UIWebView容器控件
- 25.4.1 加载页面
- 25.4.2 操作页面
- 25.4.3 页面回调
- 第4篇 CocoStudio工具链篇
- 第26章 CocoStudio概述
- 26.1 CocoStudio是什么
- 26.2 CocoStudio的设计目标
- 26.3 使用CocoStudio
- 26.3.1 使用UI编辑器
- 26.3.2 使用动画编辑器
- 26.3.3 使用数据编辑器
- 26.3.4 使用场景编辑器
- 26.3.5 使用CocoStudio 2.x
- 26.4 管理资源
- 26.5 版本对应
- 第27章 CocoStudio UI编辑器
- 27.1 使用UI编辑器
- 27.2 编写代码
- 27.2.1 加载UI
- 27.2.2 UI动画
- 27.2.3 初始化UI
- 27.2.4 更新UI
- 27.3 分辨率适配
- 27.4 扩展UI编辑器
- 第28章 CocoStudio场景编辑器
- 28.1 使用场景编辑器
- 28.2 组件系统
- 28.3 触发器
- 28.3.1 触发器的使用
- 28.3.2 触发器的代码框架以及运作流程
- 28.3.3 触发器的扩展
- 28.4 加载场景
- 第29章 CocoStudio动画编辑器
- 第30章 CocoStudio 2.x编辑器
- 第31章 使用CocosBuilder