当前位置:首页 > 工业技术
Cocos2d-x实战  JS卷  Cocos2d-JS开发
Cocos2d-x实战  JS卷  Cocos2d-JS开发

Cocos2d-x实战 JS卷 Cocos2d-JS开发PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302387435
  • 页数:475 页
图书介绍:Cocos2d-JS是Cocos2d-x的Javascript版本,融合了Cocos2d-html5和Cocos2d-x JSBinding。它支持Cocos2d-x的所有特性并提供更简单易用的Javascript风格API。本书系统介绍Cocos2d-JS编程原理及案例应用,偏重实战。适合作为手机游戏开发人员工具图书。
《Cocos2d-x实战 JS卷 Cocos2d-JS开发》目录
标签:实战 开发

第1章 准备开始 1

1.1 本书学习路线图 1

1.2 使用实例代码 2

第一篇 基础篇 6

第2章 JavaScript语言基础 6

2.1 环境搭建 6

2.1.1 JavaScript编辑工具 6

2.1.2 JavaScript运行测试环境 7

2.1.3 HelloJS实例测试 8

2.2 标识符和保留字 12

2.2.1 标识符 12

2.2.2 保留字 12

2.3 常量和变量 13

2.3.1 常量 13

2.3.2 变量 13

2.3.3 命名规范 13

2.4 注释 14

2.5 JavaScript数据类型 15

2.5.1 数据类型 15

2.5.2 数据类型字面量 16

2.5.3 数据类型转换 16

2.6 运算符 18

2.6.1 算术运算符 18

2.6.2 关系运算符 21

2.6.3 逻辑运算符 23

2.6.4 位运算符 24

2.6.5 其他运算符 25

2.7 控制语句 26

2.7.1 分支语句 26

2.7.2 循环语句 29

2.7.3 跳转语句 32

2.8 数组 35

2.9 函数 35

2.9.1 使用函数 36

2.9.2 变量作用域 36

2.9.3 嵌套函数 37

2.9.4 返回函数 38

2.10 JavaScript中的面向对象 39

2.10.1 创建对象 40

2.10.2 常用内置对象 42

2.10.3 原型 44

2.11 Cocos2d-JS中的JavaScript继承 46

本章小结 48

第3章 Hello Cocos2d-JS 49

3.1 移动平台游戏引擎 49

3.2 Cocos2d游戏引擎 49

3.2.1 Cocos2d游戏引擎家谱 49

3.2.2 Cocos2d-x引擎 50

3.2.3 Cocos2d-JS引擎 51

3.3 搭建Cocos2d-JS开发环境 52

3.3.1 搭建WebStorm开发环境 52

3.3.2 搭建Cocos Code IDE开发环境 52

3.3.3 下载和使用Cocos2d-JS官方案例 56

3.3.4 使用API文档 61

3.4 第一个Cocos2d-JS游戏 62

3.4.1 创建工程 62

3.4.2 在Cocos Code IDE中运行 65

3.4.3 在WebStorm中运行 68

3.4.4 工程文件结构 69

3.4.5 代码解释 69

3.5 Cocos2d-JS核心概念 75

3.5.1 导演 75

3.5.2 场景 75

3.5.3 层 76

3.5.4 精灵 76

3.5.5 菜单 77

3.6 Node与Node层级架构 78

3.6.1 Node中重要的操作 78

3.6.2 Node中重要的属性 79

3.6.3 游戏循环与调度 80

3.7 Cocos2d-JS坐标系 83

3.7.1 UI坐标 83

3.7.2 OpenGL坐标 83

3.7.3 世界坐标和模型坐标 84

本章小结 89

第4章 标签和菜单 90

4.1 使用标签 90

4.1.1 cc.LabelTTF 90

4.1.2 cc.LabelAtlas 92

4.1.3 cc.LabelBMFont 94

4.2 使用菜单 95

4.2.1 文本菜单 96

4.2.2 精灵菜单和图片菜单 97

4.2.3 开关菜单 100

本章小结 102

第5章 精灵 103

5.1 Sprite精灵类 103

5.1.1 创建Sprite精灵对象 103

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

5.2 精灵的性能优化 105

5.2.1 使用纹理图集 105

5.2.2 使用精灵帧缓存 108

本章小结 110

第6章 场景与层 111

6.1 场景与层的关系 111

6.2 场景切换 111

6.2.1 场景切换相关函数 112

6.2.2 场景过渡动画 117

6.3 场景的生命周期 118

6.3.1 生命周期函数 118

6.3.2 多场景切换生命周期 119

本章小结 121

第7章 动作、特效和动画 122

7.1 动作 122

7.1.1 瞬时动作 123

7.1.2 间隔动作 129

7.1.3 组合动作 135

7.1.4 动作速度控制 140

7.1.5 回调函数 144

7.2 特效 148

7.2.1 网格动作 148

7.2.2 实例:特效演示 149

7.3 动画 151

7.3.1 帧动画 151

7.3.2 实例:帧动画使用 152

本章小结 154

第8章 Cocos2d-JS用户事件 155

8.1 事件处理机制 155

8.1.1 事件处理机制中的三个角色 155

8.1.2 事件管理器 156

8.2 触摸事件 157

8.2.1 触摸事件的时间方面 157

8.2.2 触摸事件的空间方面 158

8.2.3 实例:单点触摸事件 158

8.2.4 实例:多点触摸事件 161

8.3 键盘事件 163

8.4 鼠标事件 164

8.5 加速度计与加速度事件 166

8.5.1 加速度计 166

8.5.2 实例:运动的小球 167

本章小结 169

第二篇 进阶篇 172

第9章 游戏背景音乐与音效 172

9.1 Cocos2d-JS中音频文件 172

9.1.1 音频文件 172

9.1.2 Cocos2d-JS跨平台音频支持 173

9.2 使用AudioEngine引擎 174

9.2.1 音频文件的预处理 174

9.2.2 播放背景音乐 176

9.2.3 停止播放背景音乐 177

9.3 实例:设置背景音乐与音效 178

9.3.1 资源文件编写 179

9.3.2 HelloWorld场景实现 180

9.3.3 设置场景实现 182

本章小结 184

第10章 粒子系统 185

10.1 问题的提出 185

10.2 粒子系统基本概念 186

10.2.1 实例:打火机 186

10.2.2 粒子发射模式 187

10.2.3 粒子系统属性 188

10.3 Cocos2d-JS内置粒子系统 190

10.3.1 内置粒子系统 191

10.3.2 实例:内置粒子系统 191

10.4 自定义粒子系统 194

本章小结 197

第11章 瓦片地图 198

11.1 地图性能问题 198

11.2 Cocos2d-JS中瓦片地图API 199

11.3 实例:忍者无敌 201

11.3.1 设计地图 201

11.3.2 程序中加载地图 202

11.3.3 移动精灵 203

11.3.4 检测碰撞 205

11.3.5 滚动地图 210

本章小结 212

第12章 物理引擎 213

12.1 使用物理引擎 214

12.2 Chipmunk引擎 214

12.2.1 Chipmunk核心概念 214

12.2.2 使用Chipmunk物理引擎的一般步骤 214

12.2.3 实例:HelloChipmunk 214

12.2.4 实例:碰撞检测 219

12.2.5 实例:使用关节 222

12.3 Box2D引擎 224

12.3.1 Box2D核心概念 224

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

12.3.3 实例:HelloBox2D 225

12.3.4 实例:碰撞检测 229

12.3.5 实例:使用关节 231

本章小结 233

第三篇 数据与网络篇 236

第13章 数据持久化 236

13.1 Cocos2d-JS中的数据持久化 236

13.2 localStorage数据持久化 236

13.2.1 cc.sys.localStorage API函数 236

13.2.2 实例:MyNotes 237

本章小结 239

第14章 基于HTTP网络通信 240

14.1 网络结构 240

14.1.1 客户端服务器结构网络 240

14.1.2 点对点结构网络 240

14.2 HTTP与HTTPS 241

14.3 使用XMLHttpRequest对象开发客户端 242

14.3.1 使用XMLHttpRequest对象 242

14.3.2 实例:重构MyNotes 243

14.4 数据交换格式 248

14.5 JSON数据交换格式 250

14.5.1 文档结构 250

14.5.2 JSON解码与编码 251

14.5.3 实例:完善MyNotes 252

本章小结 257

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

15.1 Node.js 258

15.1.1 Node.js安装 258

15.1.2 Node.js测试 259

15.2 使用Socket.IO 260

15.2.1 Socket.IO服务器端开发 261

15.2.2 Cocos2d-JS的Socket.IO客户端开发 263

15.3 实例:Socket.IO重构MyNotes 267

15.3.1 Socket.IO服务器端开发 268

15.3.2 Node.js访问SQLite数据库 268

15.3.3 Cocos2d-JS的Socket.IO客户端开发 272

本章小结 277

第四篇 优化篇 280

第16章 性能优化 280

16.1 缓存创建和清除 280

16.1.1 场景与资源 280

16.1.2 缓存创建和清除时机 281

16.2 图片与纹理优化 283

16.2.1 选择图片格式 283

16.2.2 拼图 284

16.2.3 纹理像素格式 285

16.2.4 背景图片优化 286

16.2.5 纹理缓存异步加载 287

16.3 JSB内存管理 290

16.4 使用Bake层 292

16.5 使用对象池 294

16.5.1 对象池API 294

16.5.2 实例:发射子弹 295

本章小结 296

第五篇 多平台移植篇 298

第17章 移植到Web平台 298

17.1 Web服务器与移植 298

17.1.1 Apache HTTP Server安装 299

17.1.2 移植到Web服务器 303

17.2 问题汇总 304

17.2.1 JS文件的压缩与代码混淆 305

17.2.2 判断平台 308

17.2.3 资源不能加载问题 309

本章小结 310

第18章 移植到本地iOS平台 311

18.1 iOS开发环境搭建 311

18.1.1 Xcode安装和卸载 311

18.1.2 Xcode操作界面 312

18.2 创建本地工程 315

18.3 编译与移植 316

18.4 移植问题汇总 318

18.4.1 iOS平台声音移植问题 318

18.4.2 使用PVR纹理格式 320

18.4.3 横屏与竖屏设置问题 322

18.5 多分辨率屏幕适配 323

18.5.1 问题的提出 323

18.5.2 分辨率策略 324

本章小结 328

第19章 移植到本地Android平台 329

19.1 搭建交叉编译和打包环境 329

19.1.1 安装Android SDK 331

19.1.2 管理Android SDK 332

19.1.3 管理Android开发模拟器 334

19.1.4 安装Android NDK 336

19.2 交叉编译 337

19.3 打包运行 338

19.4 移植问题汇总 340

19.4.1 JS文件编译问题 340

19.4.2 横屏与竖屏设置问题 340

本章小结 341

第六篇 实战篇 344

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

20.1 代码版本管理工具——Git 344

20.1.1 版本控制历史 344

20.1.2 术语和基本概念 345

20.1.3 Git环境配置 345

20.1.4 Git常用命令 346

20.2 代码托管服务——GitHub 349

20.2.1 创建和配置GitHub账号 349

20.2.2 创建代码库 352

20.2.3 删除代码库 352

20.2.4 派生代码库 355

20.2.5 GitHub协同开发 357

20.3 实例:Cocos2d-JS游戏项目协同开发 358

20.3.1 提交到GitHub代码库 358

20.3.2 克隆GitHub代码库 360

20.3.3 重新获得GitHub代码库 360

本章小结 361

第21章 Cocos2d-JS敏捷开发项目实战——迷失航线手机游戏 362

21.1 迷失航线游戏分析与设计 362

21.1.1 迷失航线故事背景 362

21.1.2 需求分析 362

21.1.3 原型设计 363

21.1.4 游戏脚本 364

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

21.2.1 迭代1.1:创建工程 365

21.2.2 迭代1.2:添加资源文件 365

21.2.3 迭代1.3:添加常量文件SystemConst.js 366

21.2.4 迭代1.4:多分辨率适配 368

21.2.5 迭代1.5:发布到GitHub 368

21.3 任务2:创建Loading场景 368

21.3.1 迭代2.1:修改启动界面 369

21.3.2 迭代2.2:配置文件resource.js 369

21.4 任务3:创建Home场景 371

21.4.1 迭代3.1:添加场景和层 371

21.4.2 迭代3.2:添加菜单 372

21.5 任务4:创建设置场景 374

21.6 任务5:创建帮助场景 376

21.7 任务6:游戏场景实现 378

21.7.1 迭代6.1:创建敌人精灵 378

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

21.7.3 迭代6.3:创建炮弹精灵 384

21.7.4 迭代6.4:初始化游戏场景 385

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

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

21.7.7 迭代6.7:炮弹与敌人的碰撞检测 390

21.7.8 迭代6.8:玩家飞机与敌人的碰撞检测 393

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

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

21.8 任务7:游戏结束场景 396

本章小结 398

第22章 为迷失航线游戏添加广告 399

22.1 使用谷歌AdMob广告 399

22.1.1 注册AdMob账号 399

22.1.2 管理AdMob广告 399

22.1.3 AdMob广告类型 403

22.1.4 下载谷歌AdMob Ads SDK 403

22.2 为迷失航线游戏Android平台添加AdMob广告 405

22.2.1 Google play服务下载与配置 405

22.2.2 导入libcocos2dx类库工程到Eclipse 408

22.2.3 导入LostRoutes工程到Eclipse 408

22.2.4 编写AdMob相关代码 411

22.2.5 交叉编译、打包和运行 415

22.3 为迷失航线游戏iOS平台添加AdMob广告 415

22.3.1 Cocos2d-x引擎iOS平台下搭建AdMob开发环境 415

22.3.2 编写AdMob相关代码 419

本章小结 422

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

23.1 谷歌Android应用商店Google play 423

23.2 还有“最后一千米” 424

23.2.1 JS文件编译 424

23.2.2 添加图标 425

23.2.3 应用程序打包 425

23.3 发布产品 429

23.3.1 上传APK 429

23.3.2 填写商品详细信息 431

23.3.3 定价和发布范围 433

本章小结 435

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

24.1 苹果的App Store 436

24.2 iOS设备测试 438

24.2.1 创建开发者证书 438

24.2.2 设备注册 443

24.2.3 创建App ID 444

24.2.4 创建配置概要文件 447

24.2.5 设备上运行 451

24.3 还有“最后一千米” 453

24.3.1 添加图标 453

24.3.2 添加启动界面 454

24.3.3 修改发布产品属性 455

24.3.4 为发布进行编译 456

24.3.5 应用打包 461

24.4 发布产品 462

24.4.1 创建应用及基本信息 462

24.4.2 应用定价信息 464

24.4.3 基本信息输入 464

24.4.4 上传应用前准备 470

24.4.5 上传应用 471

24.5 常见审核不通过的原因 474

本章小结 475

返回顶部