扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

Cocos2d-JS游戏开发

综合评级:
★★★★★

定价:
¥69.00

作者:
凌建风

出版社:
人民邮电

出版日期:
2016/05/01

页数:
331

ISBN:
9787115421487

书籍介绍

飞鱼科技联合创始人林志斌、cocos引擎创始人王哲和cocos引擎联合创始人林顺 联合作序推荐 cocos2d-js引擎核心开发者panda(凌华彬)、cocos2d-x引擎核心开发者子龙山人(屈光辉)、业界专家红孩儿(卞安)、业界专家himi(李华明)、cocoachina社区和cvp平台、gameres游资网ceo林德辉倾情推荐 《保卫萝卜2》素材官方授权使用

作者简介

凌建风 飞鱼科技国际有限公司客户端程序员,触控科技认证CVP,Cocos2d-JS方向的权威导师。从毕业到现在,一直从事Cocos2d-x和Cocos2d-JS游戏开发,先后在Cocos引擎中文官网和全球*大苹果开发者社区CocoaChina发表多篇博文以及两套Cocos2d-JS视频教程。

目录

第一部分  基础篇

第1章  cocos2d-js介绍  2

1.1  cocos2d引擎家族  2

1.1.1  cocos2d的诞生  3

1.1.2  cocos引擎家族大事记  4

1.2  cocos2d-js介绍  5

1.3  引擎目录结构  6

1.4  小结  7

1.5  参考资源  7

第2章  hello world  8

2.1  cocos console  8

2.1.1  安装Python  8

2.1.2  Android环境配置  10

2.2  创建、编译和运行工程  12

2.3  helloworld的目录结构  13

2.4  项目在web和native上的启动流程  16

2.5  项目在各平台下的打包以及部署  18

2.6  js-tests测试工程  2

22.7  为《保卫萝卜2》项目做准备  23

2.8  实例——利用cocosdevtools 学习cocos2d-js  27

2.9  小结  29

2.10  参考资源  29

第3章  核心框架  30

3.1  导演  30

3.1.1  设置帧率  31

3.1.2  初始化管理器  31

3.1.3  初始化渲染器  32

3.1.4  获取屏幕大小  32

3.1.5  执行游戏主循环  32

3.2  cocos2d-js坐标系  33

3.3  节点  34

3.3.1  基础属性  35

3.3.2  图形属性  39

3.3.3  其他属性  41

3.3.4  常用函数  43

3.4  场景  47

3.4.1  再探导演——场景管理  47

3.4.2  切换特效  48

3.4.3  场景的生命周期  49

3.5  层  50

3.6  精灵  52

3.6.1  通过图片资源创建  52

3.6.2  通过纹理创建  52

3.6.3  通过精灵表单创建  53

3.6.4  创建带有颜色的精灵  53

3.7  场景树  54

3.8  标签  54

3.8.1  cc.labelttf字体标签  54

3.8.2  cc.labelbmfont位图标签  56

3.8.3  cc.labelatlas字符映射标签  57

3.8.4  使用编辑器制作fnt字体  58

3.9  实例——《保卫萝卜2》主页面开发  61

3.9.1  主页面设计思路  62

3.9.2  视图设定  63

3.9.3  代码文件架构  63

3.9.4  主页面backgroundlayer开发  64

3.9.5  主页面mainlayer开发  65

3.10  小结  66

3.11  参考资源  66

第4章  动作模块  67

4.1  cc.action  67

4.2  瞬时动作  68

4.2.1  cc.place  69

4.2.2  cc.flipx和cc.flipy  69

4.2.3  cc.show和cc.hide  69

4.2.4  cc.togglevisibility  69

4.2.5  cc.removeself  69

4.2.6  cc.callfun  70

4.3  持续动作  70

4.3.1  属性变化动作  71

4.3.2  视觉特效动作  73

4.3.3  复合动作  75

4.4  变速动作  76

4.4.1  cc.speed  76

4.4.2  cc.actionease  77

4.5  实例——让《保卫萝卜2》的主界面动起来  79

4.6  小结  81

4.7  参考资源  81

第5章  事件机制  82

5.1  事件  82

5.2  事件管理器  83

5.2.1  添加事件监听器  83

5.2.2  删除事件监听器  84

5.2.3  设置事件监听器的优先级  84

5.2.4  分发事件  85

5.3  触摸事件  85

5.3.1  单点触摸  85

5.3.2  多点触摸  87

5.4  加速计事件  88

5.5  键盘事件  89

5.6  鼠标事件  90

5.7  自定义事件  91

5.8  实例——虚拟摇杆封装  92

5.9  小结  99

5.10  参考资源  99

第6章  音频处理  100

6.1  cocos2d-js中的音频  100

6.1.1  cc.audioengine的常用api  100

6.1.2  各平台下支持的音频格式  101

6.2  背景音乐何时播放  102

6.3  实例——给《保卫萝卜2》添加音频  104

6.4  小结  104

6.5  参考资源  105

第7章  屏幕适配  106

7.1  屏幕适配原理  106

7.2  如何使用适配模式  108

7.3  系统预设适配模式  110

7.3.1  cc.resolutionpolicy.show_all  110

7.3.2  cc.resolutionpolicy.no_border  110

7.3.3  cc.resolutionpolicy.exact_fit  111

7.3.4  cc.resolutionpolicy.fixed_height  112

7.3.5  cc.resolutionpolicy.fixed_width  113

7.4  推荐的适配方案  113

7.5  小结  115

7.6  参考资源  116

第二部分  进阶篇

第8章  数据存储  118

8.1  cc.sys.localstorage  118

8.2  json文件读取  119

8.3  plist文件读取  120

8.4  sqlite实现  121

8.5  实例——解锁《保卫萝卜2》的“天天向上”玩法  121

8.6  小结  126

8.7  参考资源  126

第9章  粒子系统  127

9.1  粒子系统概述  127

9.2  cocos2d-js中的粒子系统  128

9.3  particledesigner编辑器  133

9.4  particleeditor编辑器  135

9.5  在cocos2d-js中使用粒子系统  136

9.6  小结  137

9.7  参考资源  137

第10章  ui控件  138

10.1  ccui.widget父类  138

10.2  ccui.text文本  141

10.2.1  ccui.text字体文本  142

10.2.2  ccui.textbmfont位图文本  143

10.2.3  ccui.textatlas字符映射文本  144

10.3  ccui.button按钮  144

10.4  ccui.checkbox复选框  147

10.5  ccui.slider滑块  149

10.6  ccui.imageview图片视图  150

10.7  ccui.loadingbar加载条  151

10.8  ccui.textfield编辑框  152

10.9  ccui.layout布局  154

10.10  ccui.scrollview滚动视图  158

10.11  ccui.pageview分页视图  161

10.12  ccui.listview列表视图  163

10.13  实例——《保卫萝卜2》关卡选择页面的开发  166

10.14  小结  170

10.15  参考资源  170第11章  性能优化  171

11.1  对象缓冲池  171

11.1.1  让我们的类支持cc.pool管理  172

11.1.2  使用cc.pool管理对象  173

11.2  批量渲染  174

11.2.1  cocos2d-js中的spritebatchnode类  175

11.2.2  使用spritebatchnode  176

11.3  烘培层  177

11.4  spritesheet资源优化  178

11.4.1  图片内存计算  178

11.4.2  texturepacker  179

11.4.3  图片资源压缩  182

11.5  小结  183

第12章  游戏地图  184

12.1  瓦片地图原理  184

12.2  tiled map editor简介  185

12.3  tiled map editor工作区介绍  186

12.3.1  工具栏  186

12.3.2  地图编辑区  186

12.3.3  迷你地图、对象、图层区  187

12.3.4  图块、地形区  188

12.3.5  cocos2d-js支持的地图类型  188

12.3.6  瓦片地图坐标系  189

12.4  使用tiled mapeditor制作一个地图  189

12.4.1  新建地图  190

12.4.2  新建图块  190

12.4.3  新建层  191

12.4.4  编辑地图  191

12.5  在cocos2d-js中使用瓦片地图  193

12.5.1  cc.tmxtiledmap地图对象  193

12.5.2  cc.tmxlayer图层对象  195

12.5.3  cc.tmxobjectgroup对象组  197

12.6  小结  198

12.7  参考资源  198

第三部分  高级篇

第13章  反射调用  200

13.1  反射调用概述  200

13.2  反射调用objective-c  201

13.3  反射调用java  201

13.4  小结  203

13.5  参考资源  203

第14章  chipmunk物理引擎  204

14.1  物理概念  204

14.1.1  刚体  204

14.1.2  面积  205

14.1.3  质量  205

14.1.4  密度  205

14.1.5  转动惯量  205

14.1.6  弹性系数  205

14.1.7  摩擦系数  205

14.2  chipmunk中的基本概念  206

14.2.1  基本类型  206

14.2.2  chipmunk的坐标系统  206

14.2.3  chipmunk中的基本数据结构  206

14.3  刚体  208

14.3.1  动态刚体  210

14.3.2  静态刚体  213

14.4  形状  21414.4.1  基类cp.shape  214

14.4.2  圆形  216

14.4.3  线段  216

14.4.4  凸多边形  216

14.5  约束  217

14.5.1  基类cp.constraint  217

14.5.2  pin joint  218

14.5.3  slide joint  218

14.5.4  pivot joint  218

14.5.5  groove joint  218

14.5.6  damped spring  219

14.5.7  damped rotary spring  219

14.5.8  rotary limit joint  219

14.5.9  ratchet joint  219

14.5.10  gear joint  220

14.5.11  simple motor  220

14.6  空间  220

14.7  碰撞检测  222

14.7.1  空间索引  222

14.7.2  碰撞过滤  224

14.7.3  碰撞回调  225

14.7.4  碰撞对  228

14.8  查询  228

14.8.1  点查询  228

14.8.2  线段查询  229

14.8.3  区域查询  229

14.9  实例——拖动刚体的实现  230

14.10  小结  235

14.11  参考资源  235

第15章  网络编程  236

15.1  网络编程相关概念  236

15.2  tcp/ip参考模型  240

15.2.1  服务端  240

15.2.2  客户端  240

15.2.3  通信协议  241

15.2.4  端口  241

15.2.5  uri  241

15.3  基于http协议的通信  242

15.3.1  运作方式  242

15.3.2  XMLhttprequest对象  242

15.4  基于websocket的通信  246

15.4.1  cocos2d-js中的websocket  246

15.4.2  websocket对象常用的属性和方法  246

15.5  基于socketio的通信  249

15.5.1  获取socketio对象  249

15.5.2  socketio的常用方法  250

15.6  实例——使用node.js socket.io实现游戏聊天系统  250

15.6.1  node.js、express框架和socket.io库的安装  251

15.6.2  服务端开发  253

15.6.3  客户端开发  255

15.7  小结  258

15.8  参考资源  258

第16章  Javascript binding  259

16.1  cocos引擎中的脚本绑定框架  260

16.2  自动绑定  261

16.2.1  自动绑定简介及其限制  262

16.2.2  配置绑定环境  262

16.3  深入探究绑定技术  264

16.3.1  函数注册  264

16.3.2  分析c 头文件  267

16.3.3  绑定规则  268

16.3.4  绑定模板  268

16.3.5  转换函数  269

16.4  绑定自己的c 类  270

16.4.1  编写要绑定的c 类  270

16.4.2  生成c 类的自动绑定代码  271

16.5  实例——绑定sqlite3  278

16.5.1  下载sqlite3源代码  278

16.5.2  创建hellosqlite工程  278

16.5.3  生成绑定代码  278

16.5.4  注册绑定  279

16.5.5  集成到平台中  279

16.5.6  测试结果  280

16.6  小结  281

16.7  参考资源  282

第四部分  实战篇

第17章  《保卫萝卜2》实战  284

17.1  关卡选择场景开发  284

17.1.1  使用瓦片地图编辑器标记关卡按钮坐标  285

17.1.2  关卡之间的连线开发  288

17.1.3  关卡按钮特效节点开发  290

17.2  游戏管理对象gamemanager的开发  290

17.2.1  关卡数值配置  291

17.2.2  gamemanager编写  292

17.2.3  弹出下一组怪物数据  298

17.3  游戏玩法场景开发  299

17.3.1  gameplayscene开发  300

17.3.2  背景层gpbackground-layer开发  301

17.3.3  ui层gpuilayer开发  302

17.3.4  菜单层gpmenulayer开发  303

17.3.5  游戏玩法层(gpmain-layer)  304

17.4  小结  331