Cocos2d-x实战:C++卷

Cocos2d-x实战:C++卷
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2014-11
版次: 1
ISBN: 9787302379300
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 696页
字数: 1035千字
28人买过
  •   《Cocos2d-x实战:C++卷》系统论述了Cocos2dx游戏开发理论与实践。全书内容涵盖了Cocos2dx的核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、数据交换格式、内存管理、性能优化、平台移植、程序代码管理、三大应用商店发布产品等。本书共29章,按内容结构可分为六篇:
      第一篇开发基础,即第2章~第8章,内容包括Cocos2dx简介、环境搭建、字符串、标签、菜单、精灵、场景、层、动作、特效、动画和Cocos2dx用户事件。
      第二篇开发进阶,即第9章~第12章,内容包括游戏音乐与音效、粒子系统、瓦片地图和物理引擎。
      第三篇数据与网络,即第13章~第17章,内容包括Cocos2dx中使用的数据容器类、数据持久化、数据交换格式、基于HTTP网络通信和基于Node.js的Socket.IO网络通信。
      第四篇设计与优化,即第18章~第20章,内容包括Cocos2dx中的常用设计模式、Cocos2dx中的内存管理和性能优化。
      第五篇平台移植,即第21章~第23章,内容包括从Win32到Android平台的移植、从Win32到WindowsPhone8平台的移植和从Win32到iOS平台的移植。
      第六篇开发实战,即第24章~第29章,内容包括使用Git管理程序代码和多个项目实战——迷失航线手机游戏项目开发、为迷失航线游戏添加广告、发布放到Googleplay应用商店、发布放到WindowsPhone应用商店和发布放到苹果AppStore。
      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android和WindowsPhone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、WindowsPhone及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS网络编程与云端应用上佳实践》、《iOS传感器应用开发上佳实践》、《iOS图形图像、动画和多媒体编程技术上佳实践》、《iOS开发指南——从零基础到AppStore上架》、《交互设计的艺术——iOS7拟物化到扁平化革命》等iOS专业图书。
    第一篇 开发基础
    第1章准备开始
    1.1本书学习路线图
    1.2使用实例代码
    第2章Cocos2dx简介与环境搭建
    2.1移动平台游戏引擎简介
    2.2Cocos2d家谱
    2.3Cocos2dx设计目标
    2.4在Windows平台下开始开发Cocos2dx游戏
    2.4.1使用Visual Studio开发工具
    2.4.2下载和使用Cocos2dx案例
    2.4.3生成API文档
    本章小结
    第3章Hello Cocos2dx
    3.1第一个Cocos2dx游戏
    3.1.1创建工程
    3.1.2工程文件结构
    3.1.3代码解释
    3.2Cocos2dx核心概念
    3.2.1导演
    3.2.2场景
    3.2.3层
    3.2.4精灵
    3.2.5菜单
    3.3Node与Node层级架构
    3.3.1Node中重要的操作
    3.3.2Node中重要的属性
    3.3.3游戏循环与调度
    3.4Cocos2dx坐标系
    3.4.1UI坐标
    3.4.2OpenGL坐标
    3.4.3世界坐标和模型坐标
    3.5Win32平台下设置屏幕
    本章小结
    第4章字符串、标签和菜单
    4.1Cocos2dx中的字符串
    4.1.1使用const char*和std∷string
    4.1.2使用cocos2d∷__String
    4.1.3Win32平台下中文乱码问题
    4.2使用标签
    4.2.1LabelTTF
    4.2.2LabelAtlas
    4.2.3LabelBMFont
    4.2.4Cocos2dx 3.x标签类Label
    4.2.5标签中文乱码问题
    4.3使用菜单
    4.3.1文本菜单
    4.3.2精灵菜单和图片菜单
    4.3.3开关菜单
    本章小结
    第5章精灵
    5.1Sprite精灵类
    5.1.1创建Sprite精灵对象
    5.1.2实例: 使用纹理对象创建Sprite对象
    5.2精灵的性能优化
    5.2.1使用纹理图集
    5.2.2使用精灵帧缓存
    本章小结
    第6章场景与层
    6.1场景与层的关系
    6.2场景切换
    6.2.1场景切换相关函数
    6.2.2场景过渡动画
    6.3场景的生命周期
    6.3.1生命周期函数
    6.3.2多场景切换生命周期
    本章小结
    第7章动作、特效和动画
    7.1动作
    7.1.1瞬时动作
    7.1.2间隔动作
    7.1.3组合动作
    7.1.4动作速度控制
    7.1.5函数调用
    7.2特效
    7.2.1网格动作
    7.2.2实例: 特效演示
    7.3动画
    7.3.1帧动画
    7.3.2实例: 帧动画使用
    本章小结
    第8章Cocos2dx用户事件
    8.1事件处理机制
    8.1.1事件分发器
    8.1.2触摸事件
    8.1.3实例: 单点触摸事件
    8.1.4实例: 使用Lambda表达式
    8.1.5键盘事件
    8.1.6鼠标事件
    8.2在层中进行事件处理
    8.2.1触摸事件
    8.2.2实例: 单点触摸事件
    8.3加速度计与加速度事件
    8.3.1加速度计
    8.3.2使用事件分发器
    8.3.3使用层加速度计事件
    8.3.4实例: 运动的小球
    本章小结
    第二篇开 发 进 阶
    第9章游戏背景音乐与音效
    9.1Cocos2dx中的音频文件
    9.1.1音频文件简介
    9.1.2Cocos2dx跨平台音频支持
    9.2使用CocosDenshion引擎
    9.2.1音频文件的预处理
    9.2.2播放背景音乐
    9.2.3停止播放背景音乐
    9.2.4背景音乐播放暂停与继续
    9.3实例: 设置背景音乐与音效
    9.3.1AppDelegate实现
    9.3.2HelloWorld场景实现
    9.3.3设置场景实现
    本章小结
    第10章粒子系统
    10.1问题的提出
    10.2粒子系统基本概念
    10.2.1实例: 打火机
    10.2.2粒子发射模式
    10.2.3粒子系统属性
    10.3Cocos2dx内置粒子系统
    10.3.1内置粒子系统
    10.3.2实例: 内置粒子系统
    10.4自定义粒子系统
    10.4.1代码创建
    10.4.2plist文件创建
    本章小结
    第11章瓦片地图
    11.1地图性能问题
    11.2Cocos2dx中瓦片地图API
    11.3实例: 忍者无敌
    11.3.1设计地图
    11.3.2程序中加载地图
    11.3.3移动精灵
    11.3.4检测碰撞
    11.3.5滚动地图
    本章小结
    第12章物理引擎
    12.1使用物理引擎
    12.1.1物理引擎核心概念
    12.1.2物理引擎与精灵关系
    12.2Cocos2dx 3.x中物理引擎封装
    12.2.1Cocos2dx 3.x物理引擎API
    12.2.2实例: HelloPhysicsWorld
    12.2.3实例: 碰撞检测
    12.2.4实例: 使用关节
    12.3Box2D引擎
    12.3.1Box2D核心概念
    12.3.2使用Box2D物理引擎的一般步骤
    12.3.3Visual Studio 2012下Box2D开发环境设置
    12.3.4实例: HelloBox2D
    12.3.5实例: 碰撞检测
    12.3.6实例: 使用关节
    本章小结
    第三篇数据与网络
    第13章Cocos2dx中使用的数据容器类
    13.1Cocos2dx中两大类——Ref和Value
    13.1.1Cocos2dx根类Ref
    13.1.2包装类Value
    13.2Ref列表容器
    13.2.1Array容器
    13.2.2实例: Array容器
    13.2.3Vector容器
    13.2.4实例: Vector容器
    13.3Ref字典容器
    13.3.1Dictionary容器
    13.3.2实例: Dictionary容器
    13.3.3Map容器
    13.3.4实例: Map容器
    13.4Value列表容器——ValueVector
    13.4.1ValueVector常用API
    13.4.2实例: 使用ValueVector容器
    13.5Value字典容器——ValueMap和ValueMapIntKey
    13.5.1ValueMap和ValueMapIntKey常用API
    13.5.2实例: 使用ValueMap容器
    本章小结
    第14章数据持久化
    14.1使用FileUtils访问文件
    14.1.1Cocos2dx中的目录
    14.1.2实例: 文件读写
    14.1.3实例: 路径搜索
    14.2持久化简介
    14.3UserDefault数据持久化
    14.3.1UserDefaultAPI
    14.3.2实例: 保存背景音乐和音效设置
    14.4属性列表数据持久化
    14.4.1属性列表简介
    14.4.2实例: MyNotes
    14.4.3使用Dictionary读写属性列表文件
    14.4.4使用ValueMap读写属性列表文件
    14.4.5使用ValueVector读取属性列表文件
    14.5SQLite数据库数据持久化
    14.5.1SQLite数据库简介
    14.5.2Visual Studio下SQLite数据库开发环境设置
    14.5.3实例: 重构MyNotes
    14.5.4创建数据库
    14.5.5SQLite数据库管理工具
    14.5.6查询数据
    14.5.7修改数据
    本章小结
    第15章数据交换格式
    15.1CSV数据交换格式
    15.1.1文档结构
    15.1.2CSV格式解码
    15.2XML数据交换格式
    15.2.1文档结构
    15.2.2SAX解析
    15.2.3DOM解析
    15.3JSON数据交换格式
    15.3.1文档结构
    15.3.2JSON框架jsoncpp和rapidjson比较
    15.3.3实例: rapidjson解码
    15.3.4实例: rapidjson编码
    本章小结
    第16章基于HTTP的网络通信
    16.1网络结构
    16.1.1客户端服务器结构网络
    16.1.2对等结构网络
    16.2HTTP与HTTPS
    16.3使用cURL开发客户端
    16.3.1cURL与libcurl库
    16.3.2Visual Studio下libcurl库开发环境设置
    16.3.3实例: 重构MyNotes
    16.4使用HttpClient开发客户端
    16.4.1HttpClient API
    16.4.2Visual Studio下HttpClient开发环境设置
    16.4.3实例: 重构MyNotes
    本章小结
    第17章基于Node.js的Socket.IO网络通信
    17.1Node.js简介
    17.1.1Node.js安装
    17.1.2Node.js测试
    17.2使用Socket.IO
    17.2.1Socket.IO服务器端开发
    17.2.2Cocos2dx的Socket.IO客户端
    17.3实例: Socket.IO重构MyNotes
    17.3.1Socket.IO服务器端开发
    17.3.2Node.js访问SQLite数据库
    17.3.3Cocos2dx的Socket.IO客户端开发
    本章小结
    第四篇设计与优化
    第18章Cocos2dx中常用的设计模式
    18.1单例设计模式
    18.1.1问题提出
    18.1.2实现原理
    18.1.3应用案例
    18.2委托设计模式
    18.2.1问题提出
    18.2.2实现原理
    18.2.3应用案例
    18.3观察者设计模式与通知机制
    18.3.1问题提出
    18.3.2实现原理
    18.3.3通知机制
    本章小结
    第19章Cocos2dx中的内存管理
    19.1C++内存管理
    19.1.1内存分配区域
    19.1.2动态内存分配
    19.2Ref内存管理
    19.2.1内存引用计数
    19.2.2自动释放池
    19.2.3Ref内存管理规则
    19.3Ref内存管理设计模式
    19.3.1使用静态构造函数
    19.3.2使用访问器
    19.4其他类型内存管理
    19.4.1Value内存管理
    19.4.2Vector和Map内存管理
    本章小结
    第20章性能优化
    20.1工具
    20.1.1使用Xcode中Instruments工具
    20.1.2使用Windows任务管理器
    20.1.3使Visual Studio内存泄漏检测工具Visual Leak Detector
    20.1.4左下角的文字是什么
    20.2使用SpriteBatchNode批次渲染
    20.3合理使用缓存
    20.3.1场景与资源
    20.3.2缓存创建和清除时机
    20.4图片与纹理优化
    20.4.1选择图片格式
    20.4.2拼图
    20.4.3纹理像素格式
    20.4.4纹理缓存异步加载
    20.4.5背景图片优化
    20.5声音优化
    20.5.1声音格式优化
    20.5.2声音预处理与清除
    20.6多线程并发访问
    20.6.1std∷thread多线程技术
    20.6.2异步预处理声音
    20.7SQLite数据库优化
    20.7.1表结构优化
    20.7.2查询优化
    20.7.3插入(或删除)优化
    20.8数据交换格式优化
    本章小结
    第五篇平 台 移 植
    第21章从Win32到Android平台的移植
    21.1搭建交叉编译和打包环境
    21.1.1安装Android SDK
    21.1.2管理Android SDK
    21.1.3管理Android开发模拟器
    21.1.4安装Android NDK
    21.1.5设置环境变量
    21.2交叉编译、打包和运行
    21.2.1使用cocos命令行工具
    21.2.2Android.mk编译文件
    21.2.3使用Eclipse工具
    21.3移植问题汇总
    21.3.1中文乱码问题
    21.3.2SQLite3数据库移植问题
    21.3.3JSON框架rapidjson移植问题
    21.3.4libcurl库移植问题
    21.3.5libNetwork库移植问题
    21.3.6横屏与竖屏设置问题
    本章小结
    第22章从Win32到Windows Phone 8平台的移植
    22.1Windows Phone 8开发环境搭建
    22.1.1安装Windows Phone SDK 8.0
    22.1.2安装Visual Studio Express 2012 for Windows Phone 8
    22.2Cocos2dx 3.x的Windows Phone 8工程
    22.2.1生成工程
    22.2.2运行工程
    22.2.3调试工程
    22.3移植问题汇总
    22.3.1中文乱码问题
    22.3.2SQLite3数据库移植问题
    22.3.3JSON框架rapidjson移植问题
    22.3.4libcurl库移植问题
    22.3.5libNetwork库移植问题
    22.3.6横屏与竖屏设置问题
    本章小结
    第23章从Win32到iOS平台的移植
    23.1iOS开发环境搭建
    23.1.1Xcode安装和卸载
    23.1.2Xcode操作界面
    23.2从Visual Studio工程到Xcode工程
    23.2.1添加源文件
    23.2.2添加资源文件
    23.2.3Xcode中编译并运行
    23.3移植问题汇总
    23.3.1中文乱码问题
    23.3.2SQLite3数据库移植问题
    23.3.3JSON框架rapidjson移植问题
    23.3.4libcurl库移植问题
    23.3.5声音移植问题
    23.3.6使用PVR纹理格式
    23.3.7横屏与竖屏设置问题
    23.4多分辨率屏幕适配
    23.4.1问题的提出
    23.4.2Cocos2dx屏幕适配
    23.4.3分辨率策略
    23.4.4纹理图集资源适配
    23.4.5瓦片地图资源适配
    本章小结
    第六篇开 发 实 践
    第24章使用Git管理程序代码版本
    24.1代码版本管理工具——Git
    24.1.1版本控制历史
    24.1.2术语和基本概念
    24.1.3Git环境配置
    24.1.4Git常用命令
    24.2代码托管服务——GitHub
    24.2.1创建和配置GitHub账号
    24.2.2创建代码库
    24.2.3删除代码库
    24.2.4派生代码库
    24.2.5GitHub协同开发
    24.3实例: Cocos2dx游戏项目协同开发
    24.3.1提交到GitHub代码库
    24.3.2克隆GitHub代码库
    24.3.3重新获得GitHub代码库
    本章小结
    第25章Cocos2dx敏捷开发项目实战——迷失航线手机游戏
    25.1迷失航线游戏分析与设计
    25.1.1迷失航线故事背景
    25.1.2需求分析
    25.1.3原型设计
    25.1.4游戏脚本
    25.2任务1: 游戏工程的创建与初始化
    25.2.1迭代1.1: 创建工程
    25.2.2迭代1.2: 多分辨率支持
    25.2.3迭代1.3: 通用类与基类维护
    25.2.4迭代1.4: 发布到GitHub 
    25.3任务2: 创建Loading场景
    25.3.1迭代2.1: 添加场景和层
    25.3.2迭代2.2: Loading动画
    25.3.3迭代2.3: 异步加载纹理缓存
    25.3.4迭代2.4: 异步预处理声音
    25.4任务3: 创建Home场景
    25.4.1迭代3.1: 添加场景和层
    25.4.2迭代3.2: 添加菜单
    25.5任务4: 创建设置场景
    25.6任务5: 创建帮助场景
    25.7任务6: 游戏场景实现
    25.7.1迭代6.1: 创建敌人精灵
    25.7.2迭代6.2: 创建玩家飞机精灵
    25.7.3迭代6.3: 创建炮弹精灵
    25.7.4迭代6.4: 初始化游戏场景
    25.7.5迭代6.5: 游戏场景菜单实现
    25.7.6迭代6.6: 玩家飞机发射炮弹
    25.7.7迭代6.7: 炮弹与敌人的碰撞检测
    25.7.8迭代6.8: 玩家飞机与敌人的碰撞检测
    25.7.9迭代6.9: 玩家飞机生命值显示
    25.7.10迭代6.10: 显示玩家得分情况
    25.8任务7: 游戏结束场景
    本章小结
    第26章为迷失航线游戏添加广告
    26.1使用谷歌AdMob广告
    26.1.1注册AdMob账号
    26.1.2管理AdMob广告
    26.1.3AdMob广告类型
    26.1.4下载谷歌AdMob Ads SDK
    26.2为迷失航线游戏Android平台添加AdMob广告
    26.2.1Cocos2dx引擎Android平台下AdMob开发环境搭建
    26.2.2编写AdMob相关代码
    26.2.3交叉编译与打包运行
    26.3为迷失航线游戏Windows Phone 8平台添加AdMob广告
    26.3.1Cocos2dx引擎Windows Phone 8平台下AdMob开发
    环境搭建
    26.3.2编写AdMob相关代码
    26.4为迷失航线游戏iOS平台添加AdMob广告
    26.4.1Cocos2dx引擎iOS平台下AdMob开发环境搭建
    26.4.2编写AdMob相关代码
    本章小结
    第27章把迷失航线游戏发布到Google Play应用商店
    27.1谷歌Android应用商店Google Play
    27.2Android设备测试
    27.3还有“最后一公里”
    27.3.1添加图标
    27.3.2应用程序打包
    27.4发布产品
    27.4.1上传APK
    27.4.2填写商品详细信息
    27.4.3添加定价和发布范围
    本章小结
    第28章把迷失航线游戏发布到Windows Phone应用商店
    28.1微软Windows Phone应用商店
    28.2Windows Phone 8设备测试
    28.2.1播放音频时程序崩溃问题
    28.2.2屏幕分辨率宽度和高度相反问题
    28.3还有“最后一公里”
    28.3.1使用应用商店测试套件完成“最后一公里”
    28.3.2测试应用程序包XAP
    28.3.3修改应用程序的基本属性
    28.3.4配置图标
    28.3.5应用商店磁贴和屏幕快照
    28.3.6修改UI相关描述信息
    28.3.7修改打包信息
    28.4发布产品
    28.4.1填写应用信息
    28.4.2上传并描述您的程序包
    本章小结
    第29章把迷失航线游戏发布到苹果App Store应用商店
    29.1苹果的App Store
    29.2iOS设备测试
    29.2.1创建开发者证书
    29.2.2设备注册
    29.2.3创建App ID
    29.2.4创建配置概要文件
    29.2.5设备上运行
    29.3还有“最后一公里”
    29.3.1添加图标
    29.3.2添加启动界面
    29.3.3修改发布产品属性
    29.3.4为发布进行编译
    29.3.5应用打包
    29.4发布产品
    29.4.1创建应用及基本信息
    29.4.2应用定价信息
    29.4.3基本信息输入
    29.4.4上传应用前准备
    29.4.5上传应用
    29.5常见审核不通过的原因
    29.5.1功能问题
    29.5.2用户界面问题
    29.5.3商业问题
    29.5.4不当内容
    29.5.5其他问题
    本章小结
  • 内容简介:
      《Cocos2d-x实战:C++卷》系统论述了Cocos2dx游戏开发理论与实践。全书内容涵盖了Cocos2dx的核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、数据交换格式、内存管理、性能优化、平台移植、程序代码管理、三大应用商店发布产品等。本书共29章,按内容结构可分为六篇:
      第一篇开发基础,即第2章~第8章,内容包括Cocos2dx简介、环境搭建、字符串、标签、菜单、精灵、场景、层、动作、特效、动画和Cocos2dx用户事件。
      第二篇开发进阶,即第9章~第12章,内容包括游戏音乐与音效、粒子系统、瓦片地图和物理引擎。
      第三篇数据与网络,即第13章~第17章,内容包括Cocos2dx中使用的数据容器类、数据持久化、数据交换格式、基于HTTP网络通信和基于Node.js的Socket.IO网络通信。
      第四篇设计与优化,即第18章~第20章,内容包括Cocos2dx中的常用设计模式、Cocos2dx中的内存管理和性能优化。
      第五篇平台移植,即第21章~第23章,内容包括从Win32到Android平台的移植、从Win32到WindowsPhone8平台的移植和从Win32到iOS平台的移植。
      第六篇开发实战,即第24章~第29章,内容包括使用Git管理程序代码和多个项目实战——迷失航线手机游戏项目开发、为迷失航线游戏添加广告、发布放到Googleplay应用商店、发布放到WindowsPhone应用商店和发布放到苹果AppStore。
  • 作者简介:
      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android和WindowsPhone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、WindowsPhone及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS网络编程与云端应用上佳实践》、《iOS传感器应用开发上佳实践》、《iOS图形图像、动画和多媒体编程技术上佳实践》、《iOS开发指南——从零基础到AppStore上架》、《交互设计的艺术——iOS7拟物化到扁平化革命》等iOS专业图书。
  • 目录:
    第一篇 开发基础
    第1章准备开始
    1.1本书学习路线图
    1.2使用实例代码
    第2章Cocos2dx简介与环境搭建
    2.1移动平台游戏引擎简介
    2.2Cocos2d家谱
    2.3Cocos2dx设计目标
    2.4在Windows平台下开始开发Cocos2dx游戏
    2.4.1使用Visual Studio开发工具
    2.4.2下载和使用Cocos2dx案例
    2.4.3生成API文档
    本章小结
    第3章Hello Cocos2dx
    3.1第一个Cocos2dx游戏
    3.1.1创建工程
    3.1.2工程文件结构
    3.1.3代码解释
    3.2Cocos2dx核心概念
    3.2.1导演
    3.2.2场景
    3.2.3层
    3.2.4精灵
    3.2.5菜单
    3.3Node与Node层级架构
    3.3.1Node中重要的操作
    3.3.2Node中重要的属性
    3.3.3游戏循环与调度
    3.4Cocos2dx坐标系
    3.4.1UI坐标
    3.4.2OpenGL坐标
    3.4.3世界坐标和模型坐标
    3.5Win32平台下设置屏幕
    本章小结
    第4章字符串、标签和菜单
    4.1Cocos2dx中的字符串
    4.1.1使用const char*和std∷string
    4.1.2使用cocos2d∷__String
    4.1.3Win32平台下中文乱码问题
    4.2使用标签
    4.2.1LabelTTF
    4.2.2LabelAtlas
    4.2.3LabelBMFont
    4.2.4Cocos2dx 3.x标签类Label
    4.2.5标签中文乱码问题
    4.3使用菜单
    4.3.1文本菜单
    4.3.2精灵菜单和图片菜单
    4.3.3开关菜单
    本章小结
    第5章精灵
    5.1Sprite精灵类
    5.1.1创建Sprite精灵对象
    5.1.2实例: 使用纹理对象创建Sprite对象
    5.2精灵的性能优化
    5.2.1使用纹理图集
    5.2.2使用精灵帧缓存
    本章小结
    第6章场景与层
    6.1场景与层的关系
    6.2场景切换
    6.2.1场景切换相关函数
    6.2.2场景过渡动画
    6.3场景的生命周期
    6.3.1生命周期函数
    6.3.2多场景切换生命周期
    本章小结
    第7章动作、特效和动画
    7.1动作
    7.1.1瞬时动作
    7.1.2间隔动作
    7.1.3组合动作
    7.1.4动作速度控制
    7.1.5函数调用
    7.2特效
    7.2.1网格动作
    7.2.2实例: 特效演示
    7.3动画
    7.3.1帧动画
    7.3.2实例: 帧动画使用
    本章小结
    第8章Cocos2dx用户事件
    8.1事件处理机制
    8.1.1事件分发器
    8.1.2触摸事件
    8.1.3实例: 单点触摸事件
    8.1.4实例: 使用Lambda表达式
    8.1.5键盘事件
    8.1.6鼠标事件
    8.2在层中进行事件处理
    8.2.1触摸事件
    8.2.2实例: 单点触摸事件
    8.3加速度计与加速度事件
    8.3.1加速度计
    8.3.2使用事件分发器
    8.3.3使用层加速度计事件
    8.3.4实例: 运动的小球
    本章小结
    第二篇开 发 进 阶
    第9章游戏背景音乐与音效
    9.1Cocos2dx中的音频文件
    9.1.1音频文件简介
    9.1.2Cocos2dx跨平台音频支持
    9.2使用CocosDenshion引擎
    9.2.1音频文件的预处理
    9.2.2播放背景音乐
    9.2.3停止播放背景音乐
    9.2.4背景音乐播放暂停与继续
    9.3实例: 设置背景音乐与音效
    9.3.1AppDelegate实现
    9.3.2HelloWorld场景实现
    9.3.3设置场景实现
    本章小结
    第10章粒子系统
    10.1问题的提出
    10.2粒子系统基本概念
    10.2.1实例: 打火机
    10.2.2粒子发射模式
    10.2.3粒子系统属性
    10.3Cocos2dx内置粒子系统
    10.3.1内置粒子系统
    10.3.2实例: 内置粒子系统
    10.4自定义粒子系统
    10.4.1代码创建
    10.4.2plist文件创建
    本章小结
    第11章瓦片地图
    11.1地图性能问题
    11.2Cocos2dx中瓦片地图API
    11.3实例: 忍者无敌
    11.3.1设计地图
    11.3.2程序中加载地图
    11.3.3移动精灵
    11.3.4检测碰撞
    11.3.5滚动地图
    本章小结
    第12章物理引擎
    12.1使用物理引擎
    12.1.1物理引擎核心概念
    12.1.2物理引擎与精灵关系
    12.2Cocos2dx 3.x中物理引擎封装
    12.2.1Cocos2dx 3.x物理引擎API
    12.2.2实例: HelloPhysicsWorld
    12.2.3实例: 碰撞检测
    12.2.4实例: 使用关节
    12.3Box2D引擎
    12.3.1Box2D核心概念
    12.3.2使用Box2D物理引擎的一般步骤
    12.3.3Visual Studio 2012下Box2D开发环境设置
    12.3.4实例: HelloBox2D
    12.3.5实例: 碰撞检测
    12.3.6实例: 使用关节
    本章小结
    第三篇数据与网络
    第13章Cocos2dx中使用的数据容器类
    13.1Cocos2dx中两大类——Ref和Value
    13.1.1Cocos2dx根类Ref
    13.1.2包装类Value
    13.2Ref列表容器
    13.2.1Array容器
    13.2.2实例: Array容器
    13.2.3Vector容器
    13.2.4实例: Vector容器
    13.3Ref字典容器
    13.3.1Dictionary容器
    13.3.2实例: Dictionary容器
    13.3.3Map容器
    13.3.4实例: Map容器
    13.4Value列表容器——ValueVector
    13.4.1ValueVector常用API
    13.4.2实例: 使用ValueVector容器
    13.5Value字典容器——ValueMap和ValueMapIntKey
    13.5.1ValueMap和ValueMapIntKey常用API
    13.5.2实例: 使用ValueMap容器
    本章小结
    第14章数据持久化
    14.1使用FileUtils访问文件
    14.1.1Cocos2dx中的目录
    14.1.2实例: 文件读写
    14.1.3实例: 路径搜索
    14.2持久化简介
    14.3UserDefault数据持久化
    14.3.1UserDefaultAPI
    14.3.2实例: 保存背景音乐和音效设置
    14.4属性列表数据持久化
    14.4.1属性列表简介
    14.4.2实例: MyNotes
    14.4.3使用Dictionary读写属性列表文件
    14.4.4使用ValueMap读写属性列表文件
    14.4.5使用ValueVector读取属性列表文件
    14.5SQLite数据库数据持久化
    14.5.1SQLite数据库简介
    14.5.2Visual Studio下SQLite数据库开发环境设置
    14.5.3实例: 重构MyNotes
    14.5.4创建数据库
    14.5.5SQLite数据库管理工具
    14.5.6查询数据
    14.5.7修改数据
    本章小结
    第15章数据交换格式
    15.1CSV数据交换格式
    15.1.1文档结构
    15.1.2CSV格式解码
    15.2XML数据交换格式
    15.2.1文档结构
    15.2.2SAX解析
    15.2.3DOM解析
    15.3JSON数据交换格式
    15.3.1文档结构
    15.3.2JSON框架jsoncpp和rapidjson比较
    15.3.3实例: rapidjson解码
    15.3.4实例: rapidjson编码
    本章小结
    第16章基于HTTP的网络通信
    16.1网络结构
    16.1.1客户端服务器结构网络
    16.1.2对等结构网络
    16.2HTTP与HTTPS
    16.3使用cURL开发客户端
    16.3.1cURL与libcurl库
    16.3.2Visual Studio下libcurl库开发环境设置
    16.3.3实例: 重构MyNotes
    16.4使用HttpClient开发客户端
    16.4.1HttpClient API
    16.4.2Visual Studio下HttpClient开发环境设置
    16.4.3实例: 重构MyNotes
    本章小结
    第17章基于Node.js的Socket.IO网络通信
    17.1Node.js简介
    17.1.1Node.js安装
    17.1.2Node.js测试
    17.2使用Socket.IO
    17.2.1Socket.IO服务器端开发
    17.2.2Cocos2dx的Socket.IO客户端
    17.3实例: Socket.IO重构MyNotes
    17.3.1Socket.IO服务器端开发
    17.3.2Node.js访问SQLite数据库
    17.3.3Cocos2dx的Socket.IO客户端开发
    本章小结
    第四篇设计与优化
    第18章Cocos2dx中常用的设计模式
    18.1单例设计模式
    18.1.1问题提出
    18.1.2实现原理
    18.1.3应用案例
    18.2委托设计模式
    18.2.1问题提出
    18.2.2实现原理
    18.2.3应用案例
    18.3观察者设计模式与通知机制
    18.3.1问题提出
    18.3.2实现原理
    18.3.3通知机制
    本章小结
    第19章Cocos2dx中的内存管理
    19.1C++内存管理
    19.1.1内存分配区域
    19.1.2动态内存分配
    19.2Ref内存管理
    19.2.1内存引用计数
    19.2.2自动释放池
    19.2.3Ref内存管理规则
    19.3Ref内存管理设计模式
    19.3.1使用静态构造函数
    19.3.2使用访问器
    19.4其他类型内存管理
    19.4.1Value内存管理
    19.4.2Vector和Map内存管理
    本章小结
    第20章性能优化
    20.1工具
    20.1.1使用Xcode中Instruments工具
    20.1.2使用Windows任务管理器
    20.1.3使Visual Studio内存泄漏检测工具Visual Leak Detector
    20.1.4左下角的文字是什么
    20.2使用SpriteBatchNode批次渲染
    20.3合理使用缓存
    20.3.1场景与资源
    20.3.2缓存创建和清除时机
    20.4图片与纹理优化
    20.4.1选择图片格式
    20.4.2拼图
    20.4.3纹理像素格式
    20.4.4纹理缓存异步加载
    20.4.5背景图片优化
    20.5声音优化
    20.5.1声音格式优化
    20.5.2声音预处理与清除
    20.6多线程并发访问
    20.6.1std∷thread多线程技术
    20.6.2异步预处理声音
    20.7SQLite数据库优化
    20.7.1表结构优化
    20.7.2查询优化
    20.7.3插入(或删除)优化
    20.8数据交换格式优化
    本章小结
    第五篇平 台 移 植
    第21章从Win32到Android平台的移植
    21.1搭建交叉编译和打包环境
    21.1.1安装Android SDK
    21.1.2管理Android SDK
    21.1.3管理Android开发模拟器
    21.1.4安装Android NDK
    21.1.5设置环境变量
    21.2交叉编译、打包和运行
    21.2.1使用cocos命令行工具
    21.2.2Android.mk编译文件
    21.2.3使用Eclipse工具
    21.3移植问题汇总
    21.3.1中文乱码问题
    21.3.2SQLite3数据库移植问题
    21.3.3JSON框架rapidjson移植问题
    21.3.4libcurl库移植问题
    21.3.5libNetwork库移植问题
    21.3.6横屏与竖屏设置问题
    本章小结
    第22章从Win32到Windows Phone 8平台的移植
    22.1Windows Phone 8开发环境搭建
    22.1.1安装Windows Phone SDK 8.0
    22.1.2安装Visual Studio Express 2012 for Windows Phone 8
    22.2Cocos2dx 3.x的Windows Phone 8工程
    22.2.1生成工程
    22.2.2运行工程
    22.2.3调试工程
    22.3移植问题汇总
    22.3.1中文乱码问题
    22.3.2SQLite3数据库移植问题
    22.3.3JSON框架rapidjson移植问题
    22.3.4libcurl库移植问题
    22.3.5libNetwork库移植问题
    22.3.6横屏与竖屏设置问题
    本章小结
    第23章从Win32到iOS平台的移植
    23.1iOS开发环境搭建
    23.1.1Xcode安装和卸载
    23.1.2Xcode操作界面
    23.2从Visual Studio工程到Xcode工程
    23.2.1添加源文件
    23.2.2添加资源文件
    23.2.3Xcode中编译并运行
    23.3移植问题汇总
    23.3.1中文乱码问题
    23.3.2SQLite3数据库移植问题
    23.3.3JSON框架rapidjson移植问题
    23.3.4libcurl库移植问题
    23.3.5声音移植问题
    23.3.6使用PVR纹理格式
    23.3.7横屏与竖屏设置问题
    23.4多分辨率屏幕适配
    23.4.1问题的提出
    23.4.2Cocos2dx屏幕适配
    23.4.3分辨率策略
    23.4.4纹理图集资源适配
    23.4.5瓦片地图资源适配
    本章小结
    第六篇开 发 实 践
    第24章使用Git管理程序代码版本
    24.1代码版本管理工具——Git
    24.1.1版本控制历史
    24.1.2术语和基本概念
    24.1.3Git环境配置
    24.1.4Git常用命令
    24.2代码托管服务——GitHub
    24.2.1创建和配置GitHub账号
    24.2.2创建代码库
    24.2.3删除代码库
    24.2.4派生代码库
    24.2.5GitHub协同开发
    24.3实例: Cocos2dx游戏项目协同开发
    24.3.1提交到GitHub代码库
    24.3.2克隆GitHub代码库
    24.3.3重新获得GitHub代码库
    本章小结
    第25章Cocos2dx敏捷开发项目实战——迷失航线手机游戏
    25.1迷失航线游戏分析与设计
    25.1.1迷失航线故事背景
    25.1.2需求分析
    25.1.3原型设计
    25.1.4游戏脚本
    25.2任务1: 游戏工程的创建与初始化
    25.2.1迭代1.1: 创建工程
    25.2.2迭代1.2: 多分辨率支持
    25.2.3迭代1.3: 通用类与基类维护
    25.2.4迭代1.4: 发布到GitHub 
    25.3任务2: 创建Loading场景
    25.3.1迭代2.1: 添加场景和层
    25.3.2迭代2.2: Loading动画
    25.3.3迭代2.3: 异步加载纹理缓存
    25.3.4迭代2.4: 异步预处理声音
    25.4任务3: 创建Home场景
    25.4.1迭代3.1: 添加场景和层
    25.4.2迭代3.2: 添加菜单
    25.5任务4: 创建设置场景
    25.6任务5: 创建帮助场景
    25.7任务6: 游戏场景实现
    25.7.1迭代6.1: 创建敌人精灵
    25.7.2迭代6.2: 创建玩家飞机精灵
    25.7.3迭代6.3: 创建炮弹精灵
    25.7.4迭代6.4: 初始化游戏场景
    25.7.5迭代6.5: 游戏场景菜单实现
    25.7.6迭代6.6: 玩家飞机发射炮弹
    25.7.7迭代6.7: 炮弹与敌人的碰撞检测
    25.7.8迭代6.8: 玩家飞机与敌人的碰撞检测
    25.7.9迭代6.9: 玩家飞机生命值显示
    25.7.10迭代6.10: 显示玩家得分情况
    25.8任务7: 游戏结束场景
    本章小结
    第26章为迷失航线游戏添加广告
    26.1使用谷歌AdMob广告
    26.1.1注册AdMob账号
    26.1.2管理AdMob广告
    26.1.3AdMob广告类型
    26.1.4下载谷歌AdMob Ads SDK
    26.2为迷失航线游戏Android平台添加AdMob广告
    26.2.1Cocos2dx引擎Android平台下AdMob开发环境搭建
    26.2.2编写AdMob相关代码
    26.2.3交叉编译与打包运行
    26.3为迷失航线游戏Windows Phone 8平台添加AdMob广告
    26.3.1Cocos2dx引擎Windows Phone 8平台下AdMob开发
    环境搭建
    26.3.2编写AdMob相关代码
    26.4为迷失航线游戏iOS平台添加AdMob广告
    26.4.1Cocos2dx引擎iOS平台下AdMob开发环境搭建
    26.4.2编写AdMob相关代码
    本章小结
    第27章把迷失航线游戏发布到Google Play应用商店
    27.1谷歌Android应用商店Google Play
    27.2Android设备测试
    27.3还有“最后一公里”
    27.3.1添加图标
    27.3.2应用程序打包
    27.4发布产品
    27.4.1上传APK
    27.4.2填写商品详细信息
    27.4.3添加定价和发布范围
    本章小结
    第28章把迷失航线游戏发布到Windows Phone应用商店
    28.1微软Windows Phone应用商店
    28.2Windows Phone 8设备测试
    28.2.1播放音频时程序崩溃问题
    28.2.2屏幕分辨率宽度和高度相反问题
    28.3还有“最后一公里”
    28.3.1使用应用商店测试套件完成“最后一公里”
    28.3.2测试应用程序包XAP
    28.3.3修改应用程序的基本属性
    28.3.4配置图标
    28.3.5应用商店磁贴和屏幕快照
    28.3.6修改UI相关描述信息
    28.3.7修改打包信息
    28.4发布产品
    28.4.1填写应用信息
    28.4.2上传并描述您的程序包
    本章小结
    第29章把迷失航线游戏发布到苹果App Store应用商店
    29.1苹果的App Store
    29.2iOS设备测试
    29.2.1创建开发者证书
    29.2.2设备注册
    29.2.3创建App ID
    29.2.4创建配置概要文件
    29.2.5设备上运行
    29.3还有“最后一公里”
    29.3.1添加图标
    29.3.2添加启动界面
    29.3.3修改发布产品属性
    29.3.4为发布进行编译
    29.3.5应用打包
    29.4发布产品
    29.4.1创建应用及基本信息
    29.4.2应用定价信息
    29.4.3基本信息输入
    29.4.4上传应用前准备
    29.4.5上传应用
    29.5常见审核不通过的原因
    29.5.1功能问题
    29.5.2用户界面问题
    29.5.3商业问题
    29.5.4不当内容
    29.5.5其他问题
    本章小结
查看详情
12
相关图书 / 更多
Cocos2d-x实战:C++卷
CorelDRAW童装款式绘制
贺小红;曾四英;文观秀;陈满红
Cocos2d-x实战:C++卷
Convey指引导管的操作及冠脉介入治疗病例解析
李永乐,吴成程,孟新民
Cocos2d-x实战:C++卷
CorelDRAW平面广告设计(第2版职业教育校企合作新形态富资源教材)
杨雪飞、张秀生 编
Cocos2d-x实战:C++卷
CorelDRAW基础与实战教程
张春凤
Cocos2d-x实战:C++卷
Cognitive Computing of Visual and Auditory Information(视听觉信息的认知计算)
视听觉信息的认知计算项目组
Cocos2d-x实战:C++卷
CorelDRAW基础与应用案例教程
胡素娟
Cocos2d-x实战:C++卷
CorelDRAW项目实践教程(活页式)
任冠楠
Cocos2d-x实战:C++卷
CorelDRAW 2022平面设计实例教程(微课版)
陈秉彬;欧秀芳
Cocos2d-x实战:C++卷
Cool Panda少儿汉语教学资源·K级·水果沙拉
Cool Panda 编写组
Cocos2d-x实战:C++卷
CorelDRAW在地图与规划制图中的应用教程
刘敏 主编;孟万忠
Cocos2d-x实战:C++卷
Collins法英汉会话轻松学
英国柯林斯出版社 编
Cocos2d-x实战:C++卷
CorelDRAW 2022案例实战全视频教程
王红卫