欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Cocos2d-x实战:Lua卷 第2版

收藏
  • 大小:67.89 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Cocos2d-x实战:Lua卷 第2版
出版时间:2017年版
内容简介
  本书是介绍Cocos2dx Lua游戏编程和开发技术的书籍。书中介绍了使用Cocos2dx Lua中的核心类、瓦片地图、物理引擎、音乐音效、Cocos2dx GUI控件、Cocos2dx中的3D特性、数据持久化、网络通信、性能优化、多平台移植、程序代码管理、两大应用商店发布产品。全书分为6篇: 基础篇、进阶篇、数据与网络篇、优化篇、多平台移植篇和实战篇。基础篇包括第1~9章,内容涵盖了Lua语言基础、Cocos2dx Lua介绍、环境搭建、标签、菜单、精灵、场景、层、动作、特效、动画和用户事件。进阶篇包括第10~15章,内容涵盖了游戏音乐与音效、粒子系统、瓦片地图、物理引擎、Cocos2dx GUI控件和Cocos2dx中的3D特性。数据与网络篇包括第16~18章,内容涵盖了数据持久化、基于HTTP网络通信和Node.js与WebSocket网络通信。优化篇包括第19章性能优化。多平台移植篇包括第20和第21章,分别是移植到Android平台和移植到iOS平台。实战篇包括第22~25章,分别是使用Git管理程序代码、项目实战: 迷失航线
目录
第1章准备开始

1.1本书学习路线图

1.2使用实例代码

第一篇基础篇

第2章Lua语言基础

2.1Lua开发环境搭建

2.1.1安装LDT工具

2.1.2HelloLua实例测试

2.2标识符和保留字

2.2.1标识符

2.2.2保留字

2.3常量和变量

2.3.1常量

2.3.2变量

2.3.3命名规范

2.4注释

2.5Lua数据类型

2.5.1数据类型

2.5.2type函数

2.5.3数据类型转换

2.6运算符

2.6.1算术运算符

2.6.2关系运算符

2.6.3逻辑运算符

2.6.4运算优先级

2.7控制语句

2.7.1分支语句

2.7.2循环语句

2.7.3跳转语句

2.8table类型

2.8.1字典

2.8.2数组

2.9字符串类型

2.9.1字符串截取

2.9.2字符串转换

2.9.3字符串查询

2.9.4字符串格式化

2.10函数

2.10.1使用函数

2.10.2变量作用域

2.10.3多重返回值

2.11闭包函数

2.11.1嵌套函数

2.11.2返回函数

2.11.3使用闭包表达式

2.12Lua中的面向对象

2.12.1Lua中的对象

2.12.2类的实现

本章小结

第3章Cocos2dx Lua API与环境搭建

3.1移动平台游戏引擎介绍

3.2Cocos2d家谱

3.3Cocos2dx设计目标

3.4搭建Cocos2dx Lua API开发环境

3.4.1安装Visual Studio开发工具

3.4.2下载和使用Cocos2dx Lua API官方案例

3.4.3配置Cocos2dx环境

3.4.4使用API文档

本章小结

第4章Hello Cocos2dx

4.1第一个Cocos2dx Lua API游戏

4.1.1创建工程

4.1.2工程文件结构

4.1.3重构HelloLua工程

4.1.4运行HelloLua工程

4.1.5调试HelloLua工程

4.2Cocos2dx核心概念

4.2.1导演

4.2.2场景

4.2.3层

4.3Node与Node层级架构

4.3.1Node中重要的操作

4.3.2Node中重要的属性

4.3.3游戏循环与调度

4.4Cocos2dx坐标系

4.4.1UI坐标

4.4.2OpenGL坐标

4.4.3世界坐标和模型坐标

本章小结

第5章标签和菜单

5.1游戏中的文字

5.2使用标签

5.2.1Label类

5.2.2实例: 使用系统字体和TTF字体

5.2.3实例: 使用位图字体

5.2.4LabelAtlas类

5.3使用菜单

5.3.1文本菜单

5.3.2精灵菜单和图片菜单

5.3.3开关菜单

本章小结

第6章精灵

6.1Sprite精灵类

6.1.1创建Sprite精灵对象

6.1.2实例: 使用纹理对象创建Sprite对象

6.2精灵的性能优化

6.2.1使用纹理图集

6.2.2使用精灵帧缓存

本章小结

第7章场景与层

7.1场景与层的关系

7.2场景切换

7.2.1场景切换相关函数

7.2.2场景过渡动画

7.3场景的生命周期

7.3.1生命周期函数

7.3.2多场景切换生命周期

本章小结

第8章动作、特效和动画

8.1动作

8.1.1瞬时动作

8.1.2间隔动作

8.1.3组合动作

8.1.4动作速度控制

8.1.5函数调用

8.2特效

8.2.1网格动作

8.2.2实例: 特效演示

8.3动画

8.3.1帧动画

8.3.2实例: 帧动画使用

本章小结

第9章用户事件

9.1事件处理机制

9.1.1事件分发器

9.1.2触摸事件

9.1.3实例: 单点触摸事件

9.1.4实例: 多点触摸事件

9.1.5键盘事件

9.2加速度计与加速度事件

9.2.1加速度计

9.2.2加速度计事件

9.2.3实例: 运动的小球

本章小结

第二篇进阶篇

第10章游戏背景音乐与音效

10.1Cocos2dx Lua API中音频文件

10.1.1音频文件介绍

10.1.2Cocos2dx跨平台音频支持

10.2使用AudioEngine引擎

10.2.1音频文件的预处理

10.2.2播放背景音乐

10.2.3停止播放背景音乐

10.3实例: 设置背景音乐与音效

10.3.1GameScene场景实现

10.3.2SettingScene场景实现

本章小结

第11章粒子系统

11.1问题的提出

11.2粒子系统基本概念

11.2.1实例: 打火机

11.2.2粒子发射模式

11.2.3粒子系统属性

11.3内置粒子系统

11.3.1内置粒子系统

11.3.2实例: 内置粒子系统

11.4自定义粒子系统

11.4.1代码创建

11.4.2plist文件创建

本章小结

第12章瓦片地图

12.1地图性能问题

12.2瓦片地图API

12.3实例: 忍者无敌

12.3.1设计地图

12.3.2程序中加载地图

12.3.3移动精灵

12.3.4检测碰撞

12.3.5滚动地图

本章小结

第13章物理引擎

13.1使用物理引擎

13.1.1物理引擎核心概念

13.1.2物理引擎与精灵关系

13.2Cocos2dx中物理引擎

13.2.1Cocos2dx物理引擎Lua API

13.2.2实例: HelloPhysicsWorld

13.2.3实例: 接触与碰撞检测

13.2.4实例: 使用关节

本章小结

第14章Cocos2dx GUI控件

14.1按钮

14.2ImageView

14.3文本控件

14.3.1Text

14.3.2TextBMFont

14.3.3RichText

14.4RadioButton和RadioButtonGroup

14.5CheckBox

14.6LoadingBar

14.7滑块控件

本章小结

第15章Cocos2dx中的3D特性

15.1一些3D概念

15.1.1网格和模型

15.1.2相机

15.1.3投影

15.2使用3D精灵

15.2.1创建Sprite3D对象

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

15.33D模型文件格式

15.4使用相机

15.4.1创建和设置Camera对象

15.4.2实例: 使用Camera对象

15.53D粒子系统

15.5.1创建PUParticleSystem3D对象

15.5.2实例: 创建Particle Universe 3D粒子

本章小结

第三篇数据与网络篇

第16章文件访问操作和数据持久化

16.1使用FileUtils访问文件

16.1.1Cocos2dx Lua API中的目录

16.1.2实例: 读取文件

16.1.3实例: 路径搜索

16.2持久化概述

16.3UserDefault数据持久化

16.3.1UserDefault API

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

16.4属性列表数据持久化

16.4.1属性列表概述

16.4.2实例: 访问根为字典结构的属性列表文件

16.4.3实例: 访问根为列表结构的属性列表文件

本章小结

第17章基于HTTP网络通信

17.1网络结构

17.1.1客户端服务器结构网络

17.1.2点对点结构网络

17.2HTTP与HTTPS协议

17.3使用XMLHttpRequest对象开发客户端

17.3.1使用XMLHttpRequest对象

17.3.2实例: MyNotes

17.4数据交换格式

17.5JSON数据交换格式

17.5.1文档结构

17.5.2JSON解码与编码

17.5.3实例: 完善MyNotes

本章小结

第18章Node.js与WebSocket网络通信

18.1Node.js

18.1.1Node.js安装

18.1.2Node.js测试

18.2使用WebSocket

18.2.1使用Node.js开发WebSocket服务器端程序

18.2.2Cocos2dx Lua API客户端

本章小结

第四篇优化篇

第19章性能优化

19.1合理使用缓存

19.1.1场景与资源

19.1.2缓存创建和清除时机

19.2图片与纹理优化

19.2.1选择图片格式

19.2.2拼图

19.2.3纹理像素格式

19.2.4纹理缓存异步加载

19.2.5背景图片优化

19.3声音优化

19.3.1声音格式优化

19.3.2声音预处理与清除

本章小结

第五篇多平台移植篇

第20章移植到Android平台

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

20.1.1Android SDK安装

20.1.2管理Android SDK

20.1.3管理Android开发模拟器

20.1.4Android NDK安装

20.1.5设置环境变量

20.2交叉编译、打包和运行

20.2.1使用cocos命令行工具

20.2.2Android.mk编译文件

20.3移植问题汇总

20.3.1Lua文件编译问题

20.3.2横屏与竖屏设置问题

本章小结

第21章移植到iOS平台

21.1iOS开发环境搭建

21.1.1Xcode安装和卸载

21.1.2Xcode操作界面

21.2编译与运行

21.3移植问题汇总

21.3.1iOS平台声音移植问题

21.3.2使用PVR纹理格式

21.3.3横屏与竖屏设置问题

21.4多分辨率屏幕适配

21.4.1问题的提出

21.4.2Cocos2dx Lua API屏幕适配

21.4.3分辨率策略

21.4.4纹理图集资源适配

21.4.5瓦片地图资源适配

本章小结

第六篇实战篇

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

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

22.1.1版本控制历史

22.1.2术语和基本概念

22.1.3Git环境配置

22.1.4Git常用命令

22.2代码托管服务——GitHub

22.2.1创建和配置GitHub账号

22.2.2创建代码库

22.2.3删除代码库

22.2.4派生代码库

22.2.5GitHub协同开发

22.3实例: Cocos2dx游戏项目协同开发

22.3.1提交到GitHub代码库

22.3.2克隆GitHub代码库

22.3.3重新获得GitHub代码库

本章小结

第23章Cocos2dx Lua API敏捷开发项目实战——迷失航线手机游戏

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

23.1.1迷失航线故事背景

23.1.2需求分析

23.1.3原型设计

23.1.4游戏脚本

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

23.2.1迭代1.1: 创建工程

23.2.2迭代1.2: 添加资源文件

23.2.3迭代1.3: 添加常量文件SystemConst.lua

23.2.4迭代1.4: 多分辨率支持

23.2.5迭代1.5: 发布到GitHub

23.3任务2: 创建Loading场景

23.3.1迭代2.1: 添加场景和层

23.3.2迭代2.2: Loading动画

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

23.4任务3: 创建Home场景

23.4.1迭代3.1: 添加场景和层

23.4.2迭代3.2: 添加菜单

23.5任务4: 创建设置场景

23.6任务5: 创建帮助场景

23.7任务6: 游戏场景实现

23.7.1迭代6.1: 创建敌人精灵

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

23.7.3迭代6.3: 创建炮弹精灵

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

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

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

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

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

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

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

23.8任务7: 游戏结束场景

本章小结

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

24.1谷歌Android应用商店Google play

24.2“最后一公里”

24.2.1Lua文件编译

24.2.2添加图标

24.2.3生成数字签名文件

24.2.4应用程序打包

24.3发布产品

24.3.1上传APK

24.3.2填写商品详细信息

24.3.3定价和发布范围

本章小结

第25章把迷失航线游戏发布到苹果App Store应用商店

25.1苹果的App Store

25.2“最后一公里”

25.2.1添加图标

25.2.2添加启动界面

25.2.3修改发布产品属性

25.3iOS设备测试

25.3.1Xcode设置

25.3.2设备设置

25.4为发布进行编译

25.4.1创建开发者证书

25.4.2创建App ID

25.4.3创建描述文件

25.4.4发布编译

25.5发布上架

25.5.1创建应用

25.5.2应用定价

25.5.3基本信息输入

25.5.4上传应用

25.5.5提交审核

25.6常见审核通不过的原因

25.6.1功能问题

25.6.2用户界面问题

25.6.3商业问题

25.6.4不当内容

25.6.5其他问题

本章小结
下载地址