Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书

Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-01
版次: 2
ISBN: 9787302454144
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 636页
字数: 910千字
23人买过
  •   Cocos2d-x实战:C++卷(第2版)(清华游戏开发丛书)系统介绍了基于C++语言的Cocos2dx游戏编程和开发技术。介绍了使用Cocos2dx中的核心类、瓦片地图、物理引擎、音乐音效、数据持久化、GUI控件、3D特性、网络通信、数据交换格式、内存管理、性能优化、平台移植、代码版本管理以及应用商店发布产品。
      全书分为六篇: 基础篇、进阶篇、数据与网络篇、设计与优化篇、平台移植篇和实战篇。
      基础篇是第2章~第8章,内容包括: Cocos2dx简介、环境搭建、字符串、标签、菜单、精灵、场景、层、动作、特效、动画和Cocos2dx用户事件。
      进阶篇是第9章~第14章,内容包括: 游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。
      数据与网络篇是第15章~第19章,内容包括: Cocos2dx数据结构、数据持久化、数据交换格式、基于HTTP的网络通信和基于Node.js的Socket.IO网络通信。
      设计与优化篇是第20章~第22章,内容包括: Cocos2dx中的常用设计模式、Cocos2dx中的内存管理和数据性能优化。
      平台移植篇是第23章~第25章,内容包括: 从Win32平台到Android平台移植、从Win32平台到iOS平台移植和Cocos2dx多分辨率屏幕适配。
      实战篇是第26章~第29章,内容包括: 使用Git管理程序代码版本、项目实战——迷失航线手机游戏、把迷失航线游戏发布到Google play、发布到苹果App Store。

      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android、Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows Phone 及Android客户端开发。在App Store上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS实战:入门与提高卷(Swift版)》《iOS实战:传感器卷(Swift版)》《iOS实战:图形图像、动画和多媒体卷(Swift版)》《iOS开发指南——从零基础到App Store上架》《交互设计的艺术——iOS 7拟物化到扁平化革命》《Cocos2d-x实战:C++卷(第2版)》《Cocos2d-x实战:Lua卷(第2版)》《Cocos2d-x实战:JS卷——Cocos2d-JS开发(第2版)》《Cocos2d-x实战:工具卷(第2版)》等专业图书。
     

    目录

    序(王哲)Ⅰ

     

    前言Ⅲ

     

    第1章准备开始

     

    1.1本书学习路线图

     

    1.2如何使用实例代码

     

    基础篇

     

    第2章Cocos2dx简介与环境搭建

     

    2.1移动平台游戏引擎简介

     

    2.2Cocos2d家谱

     

    2.3Cocos2dx设计目标

     

    2.4在Windows平台下开发Cocos2dx游戏

     

    2.4.1使用Visual Studio开发工具

     

    2.4.2下载和使用Cocos2dx案例

     

    2.4.3生成API文档

     

    本章小结

     

    第3章Hello Cocos2dx

     

    3.1第一个Cocos2dx游戏

     

    3.1.1创建工程

     

    3.1.2工程文件结构

     

    3.1.3代码解释

     

    3.2Cocos2dx核心概念

     

    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.4Cocos2dx坐标系

     

    3.4.1UI坐标

     

    3.4.2OpenGL坐标

     

    3.4.3世界坐标和模型坐标

     

    3.4.4Win32平台下设置屏幕

     

    本章小结

     

    第4章字符串、标签和菜单

     

    4.1Cocos2dx中的字符串

     

    4.1.1使用const char*和std::string

     

    4.1.2使用cocos2d::String

     

    4.1.3Win32平台下中文乱码问题

     

    4.2使用标签

     

    4.2.1使用标签类Label

     

    4.2.2位图字体

     

    4.2.3图片集标签

     

    4.2.4标签中文无法显示问题

     

    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章Cocos2dx用户事件

     

    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.1Cocos2dx中音频文件

     

    9.1.1音频文件介绍

     

    9.1.2Cocos2dx跨平台音频支持

     

    9.2使用Audio引擎

     

    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.3Cocos2dx内置粒子系统

     

    10.3.1内置粒子系统

     

    10.3.2实例:  内置粒子系统

     

    10.4自定义粒子系统

     

    10.4.1代码创建

     

    10.4.2plist文件创建

     

    本章小结

     

    第11章瓦片地图

     

    11.1地图性能问题

     

    11.2Cocos2dx中瓦片地图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.2Cocos2dx 3.x中物理引擎封装

     

    12.2.1Cocos2dx 3.x物理引擎API

     

    12.2.2实例:  HelloPhysicsWorld

     

    12.2.3实例:  接触与碰撞检测

     

    12.2.4实例:  使用关节

     

    12.3Box2D引擎

     

    12.3.1Box2D核心概念

     

    12.3.2使用Box2D物理引擎的一般步骤

     

    12.3.3实例:  HelloBox2D

     

    12.3.4实例:  接触与碰撞检测

     

    12.3.5实例:  使用关节

     

    本章小结

     

    第13章Cocos2dx GUI控件

     

    13.1按钮

     

    13.2ImageView

     

    13.3文本控件

     

    13.3.1Text

     

    13.3.2TextBMFont

     

    13.3.3RichText

     

    13.4RadioButton和RadioButtonGroup

     

    13.5CheckBox

     

    13.6LoadingBar

     

    13.7滑块控件

     

    本章小结

     

    第14章Cocos2dx中的3D特性

     

    14.1一些3D概念

     

    14.1.1网格和模型

     

    14.1.2相机

     

    14.1.3投影

     

    14.2使用3D精灵

     

    14.2.1创建Sprite3D对象

     

    14.2.2实例:  使用模型和纹理Sprite3D对象

     

    14.33D模型文件格式

     

    14.4使用相机

     

    14.4.1创建和设置Camera对象

     

    14.4.2实例:  使用Camera对象

     

    14.53D粒子系统

     

    14.5.1创建PUParticleSystem3D对象

     

    14.5.2实例:  创建Particle Universe3D粒子

     

    本章小结

     

    数据与网络篇

     

    第15章Cocos2dx数据结构

     

    15.1Cocos2dx中两大类——Ref和Value

     

    15.1.1Cocos2dx根类Ref

     

    15.1.2包装类Value

     

    15.2Ref列表结构

     

    15.2.1Array结构

     

    15.2.2实例:  Array结构

     

    15.2.3VectorT结构

     

    15.2.4实例:  Vector结构

     

    15.3Ref字典结构

     

    15.3.1Dictionary结构

     

    15.3.2实例:  Dictionary结构

     

    15.3.3MapK,V结构

     

    15.3.4实例:  MapK,V结构

     

    15.4Value列表结构——ValueVector

     

    15.4.1ValueVector常用API

     

    15.4.2实例:  使用ValueVector结构

     

    15.5Value字典结构——ValueMap和ValueMapIntKey

     

    15.5.1ValueMap和ValueMapIntKey常用API

     

    15.5.2实例:  使用ValueMap结构

     

    本章小结

     

    第16章数据持久化

     

    16.1使用FileUtils访问文件

     

    16.1.1Cocos2dx中的目录

     

    16.1.2实例:  文件读写

     

    16.1.3实例:  路径搜索

     

    16.2持久化概述

     

    16.3UserDefault数据持久化

     

    16.3.1UserDefaultAPI

     

    16.3.2实例:  保存背景音乐和音效设置

     

    16.4属性列表数据持久化

     

    16.4.1属性列表概述

     

    16.4.2实例:  MyNotes

     

    16.4.3使用Dictionary读写属性列表文件

     

    16.4.4使用ValueMap读写属性列表文件

     

    16.4.5使用ValueVector读取属性列表文件

     

    16.5SQLite数据库数据持久化

     

    16.5.1SQLite数据库介绍

     

    16.5.2Visual Studio下SQLite数据库开发环境设置

     

    16.5.3实例:  重构MyNotes

     

    16.5.4创建数据库

     

    16.5.5SQLite数据库管理工具

     

    16.5.6查询数据

     

    16.5.7修改数据

     

    本章小结

     

    第17章数据交换格式

     

    17.1CSV数据交换格式

     

    17.1.1文档结构

     

    17.1.2CSV格式解码

     

    17.2XML数据交换格式

     

    17.2.1文档结构

     

    17.2.2SAX解析

     

    17.2.3DOM解析

     

    17.3JSON数据交换格式

     

    17.3.1文档结构

     

    17.3.2JSON框架jsoncpp和rapidjson比较

     

    17.3.3实例:  rapidjson解码

     

    17.3.4实例:  rapidjson编码

     

    本章小结

     

    第18章基于HTTP的网络通信

     

    18.1网络结构

     

    18.1.1客户端服务器结构网络

     

    18.1.2点对点结构网络

     

    18.2HTTP与HTTPS协议

     

    18.3使用cURL开发客户端

     

    18.3.1cURL与libcurl库

     

    18.3.2Visual Studio下libcurl库开发环境设置

     

    18.3.3实例:  重构MyNotes

     

    18.4使用HttpClient开发客户端

     

    18.4.1HttpClientAPI

     

    18.4.2Visual Studio下HttpClient开发环境设置

     

    18.4.3实例:  重构MyNotes

     

    本章小结

     

    第19章基于Node.js的Socket.IO网络通信

     

    19.1Node.js

     

    19.1.1Node.js安装

     

    19.1.2Node.js测试

     

    19.2使用Socket.IO

     

    19.2.1Socket.IO服务器端开发

     

    19.2.2Cocos2dx的Socket.IO客户端

     

    本章小结

     

    设计与优化篇

     

    第20章Cocos2dx中的常用设计模式

     

    20.1单例设计模式

     

    20.1.1问题提出

     

    20.1.2实现原理

     

    20.1.3应用案例

     

    20.2委托设计模式

     

    20.2.1问题提出

     

    20.2.2实现原理

     

    20.2.3应用案例

     

    20.3观察者设计模式与通知机制

     

    20.3.1问题提出

     

    20.3.2实现原理

     

    20.3.3通知机制

     

    本章小结

     

    第21章Cocos2dx中的内存管理

     

    21.1C  内存管理

     

    21.1.1内存分配区域

     

    21.1.2动态内存分配

     

    21.2Ref内存管理

     

    21.2.1内存引用计数

     

    21.2.2自动释放池

     

    21.2.3Ref内存管理规则

     

    21.3Ref内存管理设计模式

     

    21.3.1使用静态构造函数

     

    21.3.2使用访问器

     

    21.4其他类型内存管理

     

    21.4.1Value内存管理

     

    21.4.2VectorT和MapK,V内存管理

     

    本章小结

     

    第22章性能优化

     

    22.1工具

     

    22.1.1Xcode中Instruments工具使用

     

    22.1.2使用Windows任务管理器

     

    22.1.3Visual Studio内存泄漏检测工具——VisualLeak Detector

     

    22.1.4左下角的文字是什么

     

    22.2使用SpriteBatchNode批次渲染

     

    22.3合理使用缓存

     

    22.3.1场景与资源

     

    22.3.2缓存创建和清除时机

     

    22.4图片与纹理优化

     

    22.4.1选择图片格式

     

    22.4.2拼图

     

    22.4.3纹理像素格式

     

    22.4.4纹理缓存异步加载

     

    22.4.5背景图片优化

     

    22.5声音优化

     

    22.5.1声音格式优化

     

    22.5.2声音预处理与清除

     

    22.6多线程并发访问

     

    22.6.1std::thread多线程技术

     

    22.6.2异步预处理声音

     

    22.7SQLite数据库优化

     

    22.7.1表结构优化

     

    22.7.2查询优化

     

    22.7.3插入(或删除)优化

     

    22.8数据交换格式优化

     

    本章小结

     

    平台移植篇

     

    第23章从Win32平台到Android平台移植

     

    23.1搭建交叉编译和打包环境

     

    23.1.1Android SDK安装

     

    23.1.2管理Android SDK

     

    23.1.3管理Android开发模拟器

     

    23.1.4Android NDK安装

     

    23.1.5设置环境变量

     

    23.2交叉编译、打包和运行

     

    23.2.1使用cocos命令行工具

     

    23.2.2Android.mk编译文件

     

    23.3移植问题汇总

     

    23.3.1中文乱码问题

     

    23.3.2SQLite3数据库移植问题

     

    23.3.3JSON框架rapidjson移植问题

     

    23.3.4libcurl库移植问题

     

    23.3.5libNetwork库移植问题

     

    23.3.6横屏与竖屏设置问题

     

    本章小结

     

    第24章从Win32平台到iOS平台移植

     

    24.1iOS开发环境搭建

     

    24.1.1Xcode安装和卸载

     

    24.1.2Xcode操作界面

     

    24.2从Visual Studio工程到Xcode工程

     

    24.2.1添加源文件

     

    24.2.2添加资源文件

     

    24.2.3Xcode中编译并运行

     

    24.3移植问题汇总

     

    24.3.1中文乱码问题

     

    24.3.2SQLite3数据库移植问题

     

    24.3.3JSON框架rapidjson移植问题

     

    24.3.4libcurl库移植问题

     

    24.3.5声音移植问题

     

    24.3.6使用PVR纹理格式

     

    24.3.7横屏与竖屏设置问题

     

    本章小结

     

    第25章Cocos2dx多分辨率屏幕适配

     

    25.1屏幕适配问题的提出

     

    25.2Cocos2dx屏幕适配

     

    25.2.1三种分辨率

     

    25.2.2分辨率适配策略

     

    25.2.3纹理图集资源适配

     

    25.2.4瓦片地图资源适配

     

    本章小结

     

    实战篇

     

    第26章使用Git管理程序代码版本

     

    26.1代码版本管理工具——Git

     

    26.1.1版本控制历史

     

    26.1.2术语和基本概念

     

    26.1.3Git环境配置

     

    26.1.4Git常用命令

     

    26.2代码托管服务——GitHub

     

    26.2.1创建和配置GitHub账号

     

    26.2.2创建代码库

     

    26.2.3删除代码库

     

    26.2.4派生代码库

     

    26.2.5GitHub协同开发

     

    26.3实例:  Cocos2dx游戏项目协同开发

     

    26.3.1提交到GitHub代码库

     

    26.3.2克隆GitHub代码库

     

    26.3.3重新获得GitHub代码库

     

    本章小结

     

    第27章Cocos2dx敏捷开发项目实战——迷失航线手机游戏

     

    27.1迷失航线游戏分析与设计

     

    27.1.1迷失航线故事背景

     

    27.1.2需求分析

     

    27.1.3原型设计

     

    27.1.4游戏脚本

     

    27.2任务1:  游戏工程的创建与初始化

     

    27.2.1迭代1.1:  创建工程

     

    27.2.2迭代1.2:  多分辨率支持

     

    27.2.3迭代1.3:  通用类与基类维护

     

    27.2.4迭代1.4:  发布到GitHub 

     

    27.3任务2:  创建Loading场景

     

    27.3.1迭代2.1:  添加场景和层

     

    27.3.2迭代2.2:  Loading动画

     

    27.3.3迭代2.3:  异步加载纹理缓存

     

    27.3.4迭代2.4:  异步预处理声音

     

    27.4任务3:  创建Home场景

     

    27.4.1迭代3.1:  添加场景和层

     

    27.4.2迭代3.2:  添加菜单

     

    27.5任务4:  创建设置场景

     

    27.6任务5:  创建帮助场景

     

    27.7任务6:  游戏场景实现

     

    27.7.1迭代6.1:  创建敌人精灵

     

    27.7.2迭代6.2:  创建玩家飞机精灵

     

    27.7.3迭代6.3:  创建炮弹精灵

     

    27.7.4迭代6.4:  初始化游戏场景

     

    27.7.5迭代6.5:  游戏场景菜单实现

     

    27.7.6迭代6.6:  玩家飞机发射炮弹

     

    27.7.7迭代6.7:  炮弹与敌人的接触检测

     

    27.7.8迭代6.8:  玩家飞机与敌人的接触检测

     

    27.7.9迭代6.9:  玩家飞机生命值显示

     

    27.7.10迭代6.10:  显示玩家得分情况

     

    27.8任务7:  游戏结束场景

     

    本章小结

     

    第28章把迷失航线游戏发布到Google play应用商店

     

    28.1谷歌Android应用商店Googleplay

     

    28.2Android设备测试

     

    28.3还有“最后一公里”

     

    28.3.1添加图标

     

    28.3.2生成数字签名文件

     

    28.3.3应用程序打包

     

    28.4发布产品

     

    28.4.1上传APK

     

    28.4.2填写商品详细信息

     

    28.4.3定价和发布范围

     

    本章小结

     

    第29章把迷失航线游戏发布到苹果App Store

     

    29.1苹果的App Store

     

    29.2还有“最后一公里”

     

    29.2.1添加图标

     

    29.2.2添加启动界面

     

    29.2.3修改发布产品属性

     

    29.3iOS设备测试

     

    29.3.1Xcode设置

     

    29.3.2设备设置

     

    29.4为发布进行编译

     

    29.4.1创建开发者证书

     

    29.4.2创建App ID

     

    29.4.3创建描述文件

     

    29.4.4发布编译

     

    29.5发布上架

     

    29.5.1创建应用

     

    29.5.2应用定价

     

    29.5.3基本信息输入

     

    29.5.4上传应用

     

    29.5.5提交审核

     

    29.6常见审核通不过的原因

     

    29.6.1功能问题

     

    29.6.2用户界面问题

     

    29.6.3商业问题

     

    29.6.4不当内容

     

    29.6.5其他问题

     

    本章小结
  • 内容简介:
      Cocos2d-x实战:C++卷(第2版)(清华游戏开发丛书)系统介绍了基于C++语言的Cocos2dx游戏编程和开发技术。介绍了使用Cocos2dx中的核心类、瓦片地图、物理引擎、音乐音效、数据持久化、GUI控件、3D特性、网络通信、数据交换格式、内存管理、性能优化、平台移植、代码版本管理以及应用商店发布产品。
      全书分为六篇: 基础篇、进阶篇、数据与网络篇、设计与优化篇、平台移植篇和实战篇。
      基础篇是第2章~第8章,内容包括: Cocos2dx简介、环境搭建、字符串、标签、菜单、精灵、场景、层、动作、特效、动画和Cocos2dx用户事件。
      进阶篇是第9章~第14章,内容包括: 游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。
      数据与网络篇是第15章~第19章,内容包括: Cocos2dx数据结构、数据持久化、数据交换格式、基于HTTP的网络通信和基于Node.js的Socket.IO网络通信。
      设计与优化篇是第20章~第22章,内容包括: Cocos2dx中的常用设计模式、Cocos2dx中的内存管理和数据性能优化。
      平台移植篇是第23章~第25章,内容包括: 从Win32平台到Android平台移植、从Win32平台到iOS平台移植和Cocos2dx多分辨率屏幕适配。
      实战篇是第26章~第29章,内容包括: 使用Git管理程序代码版本、项目实战——迷失航线手机游戏、把迷失航线游戏发布到Google play、发布到苹果App Store。

  • 作者简介:
      关东升,国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android、Windows Phone及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows Phone 及Android客户端开发。在App Store上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。著有《iOS实战:入门与提高卷(Swift版)》《iOS实战:传感器卷(Swift版)》《iOS实战:图形图像、动画和多媒体卷(Swift版)》《iOS开发指南——从零基础到App Store上架》《交互设计的艺术——iOS 7拟物化到扁平化革命》《Cocos2d-x实战:C++卷(第2版)》《Cocos2d-x实战:Lua卷(第2版)》《Cocos2d-x实战:JS卷——Cocos2d-JS开发(第2版)》《Cocos2d-x实战:工具卷(第2版)》等专业图书。
  • 目录:
     

    目录

    序(王哲)Ⅰ

     

    前言Ⅲ

     

    第1章准备开始

     

    1.1本书学习路线图

     

    1.2如何使用实例代码

     

    基础篇

     

    第2章Cocos2dx简介与环境搭建

     

    2.1移动平台游戏引擎简介

     

    2.2Cocos2d家谱

     

    2.3Cocos2dx设计目标

     

    2.4在Windows平台下开发Cocos2dx游戏

     

    2.4.1使用Visual Studio开发工具

     

    2.4.2下载和使用Cocos2dx案例

     

    2.4.3生成API文档

     

    本章小结

     

    第3章Hello Cocos2dx

     

    3.1第一个Cocos2dx游戏

     

    3.1.1创建工程

     

    3.1.2工程文件结构

     

    3.1.3代码解释

     

    3.2Cocos2dx核心概念

     

    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.4Cocos2dx坐标系

     

    3.4.1UI坐标

     

    3.4.2OpenGL坐标

     

    3.4.3世界坐标和模型坐标

     

    3.4.4Win32平台下设置屏幕

     

    本章小结

     

    第4章字符串、标签和菜单

     

    4.1Cocos2dx中的字符串

     

    4.1.1使用const char*和std::string

     

    4.1.2使用cocos2d::String

     

    4.1.3Win32平台下中文乱码问题

     

    4.2使用标签

     

    4.2.1使用标签类Label

     

    4.2.2位图字体

     

    4.2.3图片集标签

     

    4.2.4标签中文无法显示问题

     

    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章Cocos2dx用户事件

     

    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.1Cocos2dx中音频文件

     

    9.1.1音频文件介绍

     

    9.1.2Cocos2dx跨平台音频支持

     

    9.2使用Audio引擎

     

    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.3Cocos2dx内置粒子系统

     

    10.3.1内置粒子系统

     

    10.3.2实例:  内置粒子系统

     

    10.4自定义粒子系统

     

    10.4.1代码创建

     

    10.4.2plist文件创建

     

    本章小结

     

    第11章瓦片地图

     

    11.1地图性能问题

     

    11.2Cocos2dx中瓦片地图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.2Cocos2dx 3.x中物理引擎封装

     

    12.2.1Cocos2dx 3.x物理引擎API

     

    12.2.2实例:  HelloPhysicsWorld

     

    12.2.3实例:  接触与碰撞检测

     

    12.2.4实例:  使用关节

     

    12.3Box2D引擎

     

    12.3.1Box2D核心概念

     

    12.3.2使用Box2D物理引擎的一般步骤

     

    12.3.3实例:  HelloBox2D

     

    12.3.4实例:  接触与碰撞检测

     

    12.3.5实例:  使用关节

     

    本章小结

     

    第13章Cocos2dx GUI控件

     

    13.1按钮

     

    13.2ImageView

     

    13.3文本控件

     

    13.3.1Text

     

    13.3.2TextBMFont

     

    13.3.3RichText

     

    13.4RadioButton和RadioButtonGroup

     

    13.5CheckBox

     

    13.6LoadingBar

     

    13.7滑块控件

     

    本章小结

     

    第14章Cocos2dx中的3D特性

     

    14.1一些3D概念

     

    14.1.1网格和模型

     

    14.1.2相机

     

    14.1.3投影

     

    14.2使用3D精灵

     

    14.2.1创建Sprite3D对象

     

    14.2.2实例:  使用模型和纹理Sprite3D对象

     

    14.33D模型文件格式

     

    14.4使用相机

     

    14.4.1创建和设置Camera对象

     

    14.4.2实例:  使用Camera对象

     

    14.53D粒子系统

     

    14.5.1创建PUParticleSystem3D对象

     

    14.5.2实例:  创建Particle Universe3D粒子

     

    本章小结

     

    数据与网络篇

     

    第15章Cocos2dx数据结构

     

    15.1Cocos2dx中两大类——Ref和Value

     

    15.1.1Cocos2dx根类Ref

     

    15.1.2包装类Value

     

    15.2Ref列表结构

     

    15.2.1Array结构

     

    15.2.2实例:  Array结构

     

    15.2.3VectorT结构

     

    15.2.4实例:  Vector结构

     

    15.3Ref字典结构

     

    15.3.1Dictionary结构

     

    15.3.2实例:  Dictionary结构

     

    15.3.3MapK,V结构

     

    15.3.4实例:  MapK,V结构

     

    15.4Value列表结构——ValueVector

     

    15.4.1ValueVector常用API

     

    15.4.2实例:  使用ValueVector结构

     

    15.5Value字典结构——ValueMap和ValueMapIntKey

     

    15.5.1ValueMap和ValueMapIntKey常用API

     

    15.5.2实例:  使用ValueMap结构

     

    本章小结

     

    第16章数据持久化

     

    16.1使用FileUtils访问文件

     

    16.1.1Cocos2dx中的目录

     

    16.1.2实例:  文件读写

     

    16.1.3实例:  路径搜索

     

    16.2持久化概述

     

    16.3UserDefault数据持久化

     

    16.3.1UserDefaultAPI

     

    16.3.2实例:  保存背景音乐和音效设置

     

    16.4属性列表数据持久化

     

    16.4.1属性列表概述

     

    16.4.2实例:  MyNotes

     

    16.4.3使用Dictionary读写属性列表文件

     

    16.4.4使用ValueMap读写属性列表文件

     

    16.4.5使用ValueVector读取属性列表文件

     

    16.5SQLite数据库数据持久化

     

    16.5.1SQLite数据库介绍

     

    16.5.2Visual Studio下SQLite数据库开发环境设置

     

    16.5.3实例:  重构MyNotes

     

    16.5.4创建数据库

     

    16.5.5SQLite数据库管理工具

     

    16.5.6查询数据

     

    16.5.7修改数据

     

    本章小结

     

    第17章数据交换格式

     

    17.1CSV数据交换格式

     

    17.1.1文档结构

     

    17.1.2CSV格式解码

     

    17.2XML数据交换格式

     

    17.2.1文档结构

     

    17.2.2SAX解析

     

    17.2.3DOM解析

     

    17.3JSON数据交换格式

     

    17.3.1文档结构

     

    17.3.2JSON框架jsoncpp和rapidjson比较

     

    17.3.3实例:  rapidjson解码

     

    17.3.4实例:  rapidjson编码

     

    本章小结

     

    第18章基于HTTP的网络通信

     

    18.1网络结构

     

    18.1.1客户端服务器结构网络

     

    18.1.2点对点结构网络

     

    18.2HTTP与HTTPS协议

     

    18.3使用cURL开发客户端

     

    18.3.1cURL与libcurl库

     

    18.3.2Visual Studio下libcurl库开发环境设置

     

    18.3.3实例:  重构MyNotes

     

    18.4使用HttpClient开发客户端

     

    18.4.1HttpClientAPI

     

    18.4.2Visual Studio下HttpClient开发环境设置

     

    18.4.3实例:  重构MyNotes

     

    本章小结

     

    第19章基于Node.js的Socket.IO网络通信

     

    19.1Node.js

     

    19.1.1Node.js安装

     

    19.1.2Node.js测试

     

    19.2使用Socket.IO

     

    19.2.1Socket.IO服务器端开发

     

    19.2.2Cocos2dx的Socket.IO客户端

     

    本章小结

     

    设计与优化篇

     

    第20章Cocos2dx中的常用设计模式

     

    20.1单例设计模式

     

    20.1.1问题提出

     

    20.1.2实现原理

     

    20.1.3应用案例

     

    20.2委托设计模式

     

    20.2.1问题提出

     

    20.2.2实现原理

     

    20.2.3应用案例

     

    20.3观察者设计模式与通知机制

     

    20.3.1问题提出

     

    20.3.2实现原理

     

    20.3.3通知机制

     

    本章小结

     

    第21章Cocos2dx中的内存管理

     

    21.1C  内存管理

     

    21.1.1内存分配区域

     

    21.1.2动态内存分配

     

    21.2Ref内存管理

     

    21.2.1内存引用计数

     

    21.2.2自动释放池

     

    21.2.3Ref内存管理规则

     

    21.3Ref内存管理设计模式

     

    21.3.1使用静态构造函数

     

    21.3.2使用访问器

     

    21.4其他类型内存管理

     

    21.4.1Value内存管理

     

    21.4.2VectorT和MapK,V内存管理

     

    本章小结

     

    第22章性能优化

     

    22.1工具

     

    22.1.1Xcode中Instruments工具使用

     

    22.1.2使用Windows任务管理器

     

    22.1.3Visual Studio内存泄漏检测工具——VisualLeak Detector

     

    22.1.4左下角的文字是什么

     

    22.2使用SpriteBatchNode批次渲染

     

    22.3合理使用缓存

     

    22.3.1场景与资源

     

    22.3.2缓存创建和清除时机

     

    22.4图片与纹理优化

     

    22.4.1选择图片格式

     

    22.4.2拼图

     

    22.4.3纹理像素格式

     

    22.4.4纹理缓存异步加载

     

    22.4.5背景图片优化

     

    22.5声音优化

     

    22.5.1声音格式优化

     

    22.5.2声音预处理与清除

     

    22.6多线程并发访问

     

    22.6.1std::thread多线程技术

     

    22.6.2异步预处理声音

     

    22.7SQLite数据库优化

     

    22.7.1表结构优化

     

    22.7.2查询优化

     

    22.7.3插入(或删除)优化

     

    22.8数据交换格式优化

     

    本章小结

     

    平台移植篇

     

    第23章从Win32平台到Android平台移植

     

    23.1搭建交叉编译和打包环境

     

    23.1.1Android SDK安装

     

    23.1.2管理Android SDK

     

    23.1.3管理Android开发模拟器

     

    23.1.4Android NDK安装

     

    23.1.5设置环境变量

     

    23.2交叉编译、打包和运行

     

    23.2.1使用cocos命令行工具

     

    23.2.2Android.mk编译文件

     

    23.3移植问题汇总

     

    23.3.1中文乱码问题

     

    23.3.2SQLite3数据库移植问题

     

    23.3.3JSON框架rapidjson移植问题

     

    23.3.4libcurl库移植问题

     

    23.3.5libNetwork库移植问题

     

    23.3.6横屏与竖屏设置问题

     

    本章小结

     

    第24章从Win32平台到iOS平台移植

     

    24.1iOS开发环境搭建

     

    24.1.1Xcode安装和卸载

     

    24.1.2Xcode操作界面

     

    24.2从Visual Studio工程到Xcode工程

     

    24.2.1添加源文件

     

    24.2.2添加资源文件

     

    24.2.3Xcode中编译并运行

     

    24.3移植问题汇总

     

    24.3.1中文乱码问题

     

    24.3.2SQLite3数据库移植问题

     

    24.3.3JSON框架rapidjson移植问题

     

    24.3.4libcurl库移植问题

     

    24.3.5声音移植问题

     

    24.3.6使用PVR纹理格式

     

    24.3.7横屏与竖屏设置问题

     

    本章小结

     

    第25章Cocos2dx多分辨率屏幕适配

     

    25.1屏幕适配问题的提出

     

    25.2Cocos2dx屏幕适配

     

    25.2.1三种分辨率

     

    25.2.2分辨率适配策略

     

    25.2.3纹理图集资源适配

     

    25.2.4瓦片地图资源适配

     

    本章小结

     

    实战篇

     

    第26章使用Git管理程序代码版本

     

    26.1代码版本管理工具——Git

     

    26.1.1版本控制历史

     

    26.1.2术语和基本概念

     

    26.1.3Git环境配置

     

    26.1.4Git常用命令

     

    26.2代码托管服务——GitHub

     

    26.2.1创建和配置GitHub账号

     

    26.2.2创建代码库

     

    26.2.3删除代码库

     

    26.2.4派生代码库

     

    26.2.5GitHub协同开发

     

    26.3实例:  Cocos2dx游戏项目协同开发

     

    26.3.1提交到GitHub代码库

     

    26.3.2克隆GitHub代码库

     

    26.3.3重新获得GitHub代码库

     

    本章小结

     

    第27章Cocos2dx敏捷开发项目实战——迷失航线手机游戏

     

    27.1迷失航线游戏分析与设计

     

    27.1.1迷失航线故事背景

     

    27.1.2需求分析

     

    27.1.3原型设计

     

    27.1.4游戏脚本

     

    27.2任务1:  游戏工程的创建与初始化

     

    27.2.1迭代1.1:  创建工程

     

    27.2.2迭代1.2:  多分辨率支持

     

    27.2.3迭代1.3:  通用类与基类维护

     

    27.2.4迭代1.4:  发布到GitHub 

     

    27.3任务2:  创建Loading场景

     

    27.3.1迭代2.1:  添加场景和层

     

    27.3.2迭代2.2:  Loading动画

     

    27.3.3迭代2.3:  异步加载纹理缓存

     

    27.3.4迭代2.4:  异步预处理声音

     

    27.4任务3:  创建Home场景

     

    27.4.1迭代3.1:  添加场景和层

     

    27.4.2迭代3.2:  添加菜单

     

    27.5任务4:  创建设置场景

     

    27.6任务5:  创建帮助场景

     

    27.7任务6:  游戏场景实现

     

    27.7.1迭代6.1:  创建敌人精灵

     

    27.7.2迭代6.2:  创建玩家飞机精灵

     

    27.7.3迭代6.3:  创建炮弹精灵

     

    27.7.4迭代6.4:  初始化游戏场景

     

    27.7.5迭代6.5:  游戏场景菜单实现

     

    27.7.6迭代6.6:  玩家飞机发射炮弹

     

    27.7.7迭代6.7:  炮弹与敌人的接触检测

     

    27.7.8迭代6.8:  玩家飞机与敌人的接触检测

     

    27.7.9迭代6.9:  玩家飞机生命值显示

     

    27.7.10迭代6.10:  显示玩家得分情况

     

    27.8任务7:  游戏结束场景

     

    本章小结

     

    第28章把迷失航线游戏发布到Google play应用商店

     

    28.1谷歌Android应用商店Googleplay

     

    28.2Android设备测试

     

    28.3还有“最后一公里”

     

    28.3.1添加图标

     

    28.3.2生成数字签名文件

     

    28.3.3应用程序打包

     

    28.4发布产品

     

    28.4.1上传APK

     

    28.4.2填写商品详细信息

     

    28.4.3定价和发布范围

     

    本章小结

     

    第29章把迷失航线游戏发布到苹果App Store

     

    29.1苹果的App Store

     

    29.2还有“最后一公里”

     

    29.2.1添加图标

     

    29.2.2添加启动界面

     

    29.2.3修改发布产品属性

     

    29.3iOS设备测试

     

    29.3.1Xcode设置

     

    29.3.2设备设置

     

    29.4为发布进行编译

     

    29.4.1创建开发者证书

     

    29.4.2创建App ID

     

    29.4.3创建描述文件

     

    29.4.4发布编译

     

    29.5发布上架

     

    29.5.1创建应用

     

    29.5.2应用定价

     

    29.5.3基本信息输入

     

    29.5.4上传应用

     

    29.5.5提交审核

     

    29.6常见审核通不过的原因

     

    29.6.1功能问题

     

    29.6.2用户界面问题

     

    29.6.3商业问题

     

    29.6.4不当内容

     

    29.6.5其他问题

     

    本章小结
查看详情
12
相关图书 / 更多
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Consciousness: Confessions of a Romantic Reductionist
Koch;Christof
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
CorelDRAW童装款式绘制
贺小红;曾四英;文观秀;陈满红
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Convey指引导管的操作及冠脉介入治疗病例解析
李永乐,吴成程,孟新民
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Coding with Basher: Code Your Own Website
The Coder School
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
CorelDRAW平面广告设计(第2版职业教育校企合作新形态富资源教材)
杨雪飞、张秀生 编
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
ComputerCodingScratchMadeEasy进口儿童绘本
Carol Vorderman
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Collected Poems
Achebe;Chinua
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Cool Panda少儿汉语教学资源·K级·水果沙拉
Cool Panda 编写组
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
CorelDRAW在地图与规划制图中的应用教程
刘敏 主编;孟万忠
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Collins法英汉会话轻松学
英国柯林斯出版社 编
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
CorelDRAW 2022案例实战全视频教程
王红卫
Cocos2d-x实战:C++卷(第2版)/清华游戏开发丛书
Colors versus Shapes
Boldt;Mike;Boldt;Mike