飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5503|回复: 20

[其它] Cocos2D-X游戏开发技术精解

[复制链接]
  • TA的每日心情
    慵懒
    2023-12-28 20:44
  • 签到天数: 1196 天

    [LV.10]以坛为家III

    发表于 2017-3-13 11:13:35 | 显示全部楼层 |阅读模式


    刘剑卓 有点文艺的IT男,会做美食的运动男,喜欢电影的80后。拥有八年的游

    戏开发经验,精通移动平台以及PC平台游戏的开发,在过往的职业生涯已有

    多款上线畅销游戏。拥有自主研发开发工具、引擎以及游戏产品的能力,有应

    用第三方先进引擎的开发经验,熟练使用多种编程语言、脚本语言以及3D渲

    染技术。热衷于国内外游戏行业状况和国际技术潮流,关注移动互联网以及游

    戏领域的发展。




    目 录
    第1章 Cocos2D-X引擎的介绍        1
    1.1 何为游戏引擎        1
    1.1.1 游戏的核心—引擎        1
    1.1.2 引擎的特点        2
    1.1.3 知名的引擎介绍        4
    1.1.4 引擎的分类        5
    1.2 Cocos2D-X引擎的来历        8
    1.3 引擎的版本        9
    1.4 下载与安装        10
    1.5 引擎的组成        13
    1.6 技术文档        15
    1.7 成功的游戏        17
    1.8 Cocos2D-X引擎的体系        18
    1.9 Cocos2D-X引擎的版权声明        19
    1.10 本章小结        20
    第2章 Cocos2D-X引擎的 开发环境        21
    2.1 跨平台的开发        21
    2.2 建立开发环境        23
    2.2.1 PC开发环境        23
    2.2.2 Android开发环境        26
    2.2.3 iOS开发环境        35
    2.3 引擎中的混合编译        38
    2.3.1 Java与C++的混合编译        38
    2.3.2 Objective-C与C++的混合编译        41
    2.4 引擎的启点        42
    2.4.1 应用程序入口        43
    2.4.2 引擎应用入口        44
    2.5 丰富的示例程序        46
    2.5.1 TestCpp示例项目        46
    2.5.2 脚本示例项目        47
    2.5.3 MoonWarriors示例项目        47
    2.6 本章小结        48
    第3章 引擎的核心——渲染框架        49
    3.1 基本框架        50
    3.1.1 引擎的位置        50
    3.1.2 根源种子        51
    3.1.3 子类结构        57
    3.2 渲染框架        57
    3.2.1 框架结构        58
    3.2.2 摄像机类(CCCamera)        59
    3.2.3 导演类(CCDirector)        59
    3.2.4 场景类(CCScene)        62
    3.2.5 图层类(CCLayer)        64
    3.2.6 精灵类(CCSprite)        68
    3.2.7 精灵集合类(CCSpriteBatchNode)        72
    3.2.8 精灵帧缓冲(CCSpriteFrameCache)        74
    3.2.9 Zwoptex纹理编辑器        76
    3.3 文字与字体        80
    3.3.1 TTF类型标签(CCLabelTTF)        81
    3.3.2 BMFont标签类(CCLabelBMFont)        84
    3.3.3 Atlas标签类(CCLabelAtlas)        87
    3.4 菜单按钮        89
    3.5 几何绘制DrawPrimitives        94
    3.6 CocosBuilder编辑器        95
    3.6.1 CocosBuilder使用指南        95
    3.6.2 引擎中的应用        97
    3.7 本章小结        98
    第4章 动作功能        100
    4.1 概述        100
    4.2 动作基类        101
    4.2.1 动作类的继承关系        102
    4.2.2 动作基类CCAction的成员函数        102
    4.2.3 类CCNode中与动作有关的函数        104
    4.3 时间动作        105
    4.3.1 及时动作        105
    4.3.2 持续动作        109
    4.4 组合动作类        116
    4.4.1 序列动作类(CCSequence)        116
    4.4.2 同步动作类(CCSpawn)        118
    4.4.3 重复动作类(CCRepeat & CCRepeatForever)        119
    4.5 可变速度类(CCEaseAction)        120
    4.5.1 CCEaseIn、CCEaseOut和CCEaseInOut        122
    4.5.2 EaseSineIn、EaseSineOut和EaseSineInOut        124
    4.5.3 CCEaseBackIn、CCEaseBackOut和CCEaseBackInOut        124
    4.5.4 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut        125
    4.5.5 CCEaseBounceIn、CCBounceOut和CCBounceInOut        125
    4.5.6 CCEaseElasticIn、CCEaseElasticOut和CCEaseElasticInOut        125
    4.6 速度类(CCSpeed)        125
    4.7 延迟动作类(CCDelay)        127
    4.8 跟随动作类(CCFollow)        128
    4.9 扩展动作类        129
    4.9.1 概述        129
    4.9.2 翻页动作(CCPageTurn3D)        130
    4.9.3 波纹动作(CCWaves3D)        130
    4.9.4 格子动作类(CCGridAction)        131
    4.10 动画动作类        132
    4.10.1 精灵帧        133
    4.10.2 精灵帧缓冲        134
    4.10.3 动画类        135
    4.10.4 动画动作        136
    4.11 动画编辑器        136
    4.11.1 概述        136
    4.11.2 CocosBuilder编辑器中的精灵动画        137
    4.11.3 SpriteX草莓编辑器        138
    4.11.4 MotionWelder动画编辑器        139
    4.12 样例程序        141
    4.13 本章小结        143
    第5章 用户交互        147
    5.1 概述        147
    5.2 玩家交互信息        149
    5.3 触摸操作的处理机制        149
    5.4 接收操作        153
    5.5 分发机制        154
    5.6 处理响应        157
    5.7 多点触碰        159
    5.8 加速计的响应函数        161
    5.9 本章小结        162
    第6章 游戏背景        164
    6.1 概述        164
    6.2 2D游戏背景的类型        164
    6.3 砖块地图编辑器        166
    6.3.1 地图编辑器概述        167
    6.3.2 Tile Map Editor(砖块地图编辑器)        168
    6.3.3 制作一张游戏地图        170
    6.3.4 编辑器中的属性功能        172
    6.4 砖块地图Tile Map        173
    6.5 地图数据的格式        175
    6.5.1 编辑器导出的文件        175
    6.5.2 地图文件分析        176
    6.6 砖块地图的实现        178
    6.6.1 砖块地图类CCTMXTiledMap        179
    6.6.2 地图图层类CCTMXLayer        181
    6.6.3 地图物体层CCTMXObjectGroup        183
    6.7 示例项目        184
    6.8 背景的滚动与角色移动        186
    6.9 多层背景滚动效果        188
    6.10 本章小结        190
    第7章 物理模拟与碰撞检测        192
    7.1 概述        192
    7.2 游戏中的碰撞检测        193
    7.3 碰撞检测的方法        194
    7.3.1 平面几何在碰撞检测中的应用        194
    7.3.2 物体的包围盒        197
    7.3.3 AABB碰撞检测技术        198
    7.4 基本物理知识        199
    7.5 你好!Box2D!        201
    7.5.1 概述        201
    7.5.2 物理世界        202
    7.5.3 游戏中的两个世界        202
    7.6 Box2D的基础知识        203
    7.6.1 概述        204
    7.6.2 概念定义        204
    7.6.3 物理引擎的模块        205
    7.7 引 擎 内 核        205
    7.7.1 基本配置        206
    7.7.2 内存管理机制        207
    7.7.3 工厂模式        208
    7.7.4 数据单位        208
    7.7.5 用户数据        209
    7.8 物理世界World        210
    7.8.1 创建和摧毁一个世界        210
    7.8.2 让世界运转起来        211
    7.8.3 探索世界        212
    7.8.5 AABB查询        213
    7.8.6 光线投射(Ray Casts)        214
    7.9 形状Shapes        216
    7.9.1 碰撞模块        216
    7.9.2 形状Shape的作用        216
    7.9.3 圆形(Circle Shapes)        216
    7.9.4 多边形(b2PolygonShape)        217
    7.10 框架Fixtures        218
    7.10.1 动态模块(Dynamics Module)        219
    7.10.2 框架(Fixtures)        219
    7.10.3 密度(Density)        219
    7.10.4 摩擦(Friction)        220
    7.10.5 恢复(Restitution)        220
    7.10.6 筛选(Filtering)        220
    7.10.7 感应器(Sensors)        221
    7.11 物体Bodies        222
    7.11.1 物体定义        222
    7.11.2 位置和角度(Position and Angle)        223
    7.11.3 阻尼(Damping)        223
    7.11.4 休眠参数(Sleep Parameters)        224
    7.11.5 固定旋转(Fixed Rotation)        224
    7.11.6 子弹(Bullets)        224
    7.11.7 活动状态(Activation)        225
    7.11.8 用户数据(User Data)        226
    7.12 关节(Joints)        226
    7.12.1 关节的定义(JointDef)        226
    7.12.2 关节的属性        227
    7.12.3 距离关节(Distance Joint)        228
    7.12.4 旋转关节(Revolute Joint)        229
    7.12.5 移动关节(Prismatic Joint)        230
    7.12.6 滑轮关节(Pulley Joint)        231
    7.12.7 齿轮关节(Gear Joint)        232
    7.12.8 鼠标关节(Mouse Joint)        234
    7.12.9 线性关节(Line Joint)        235
    7.12.10 焊接关节(Weld Joint)        235
    7.13 接触(Contants)        235
    7.13.1 概述        236
    7.13.2 接触类(Contact Class)        237
    7.13.3 访问接触(Accessing Contacts)        237
    7.13.4 接触监听器(Contact Listener)        238
    7.13.5 接触筛选(Contact Filtering)        240
    7.14 示例项目        241
    7.14.1 Box2dTest示例项目        241
    7.14.2 调试绘图DebugDraw        243
    7.14.3 创建精灵刚体        244
    7.15 本章小结        246
    第8章 游戏中的声音        249
    8.1 概述        249
    8.2 音乐与音效        250
    8.3 声音格式        250
    8.4 CocosDenshion声音模块        252
    8.5 背景音乐操作函数        253
    8.6 声音音效操作函数        255
    8.7 示例程序        256
    8.8 本章小结        259
    第9章 文件操作模块        261
    9.1 概述        261
    9.2 引擎文件操作模块        261
    9.3 读取文件        263
    9.4 写入文件        267
    9.5 游戏中用户数据        269
    9.5.1 游戏中的用户数据        269
    9.5.2 用户数据的基本类型        270
    9.5.3 读取与写入操作        271
    9.6 示例程序        272
    9.7 本章小结        274
    第10章 内存管理机制        277
    10.1 内存管理概述        277
    10.2 引用计数        278
    10.3 自动释放池        280
    10.3.1 使用方法        280
    10.3.2 实现原理        281
    10.4 管 理 模 式        284
    10.4.1 引擎当中的应用        284
    10.4.2 缓冲区        285
    10.5 日志调试方式        286
    10.6 本章小结        288
    第11章 粒子系统        290
    11.1 概述        290
    11.2 粒子效果        291
    11.3 粒子系统的来历        292
    11.4 引擎当中的粒子系统        293
    11.5 粒子的生命周期        294
    11.6 粒子的属性        295
    11.7 粒子发射器属性        296
    11.7.1 发射器共有的属性        296
    11.7.2 重力发射器模式(Gravity)        304
    11.7.3 半径发射器模式(Radius)        306
    11.8 粒子效果编辑器        307
    11.8.1 概述        308
    11.8.2 Particle Designer的使用方法        308
    11.8.3 引擎中应用        310
    11.9 本章小结        312
    第12章 Lua脚本语言        314
    12.1 概述        314
    12.2 Lua脚本语言简介        315
    12.3 为什么需要它?        316
    12.3.1 简易性        316
    12.3.2 可扩展性        316
    12.3.3 高效性        317
    12.3.4 可移植性        317
    12.4 Lua脚本语言的语法        318
    12.4.1 类型与数值        318
    12.4.2 表达式        320
    12.4.3 语句        322
    12.4.4 函数        326
    12.5 Lua在引擎中的应用        328
    12.5.1 Lua与C/C++        328
    12.5.2 引擎中的脚本引擎        329
    12.6 样例程序        331
    12.6.1 脚本引擎初始化        332
    12.6.2 游戏内容的实现脚本        333
    12.6.3 农场层的实现        334
    12.6.4 菜单层的实现        337
    12.7 本章小结        338
    第13章 Cocos2D-HTML5引擎版本        340
    13.1 概述        340
    13.2 HTML的发展史        341
    13.2.1 HTML版本        341
    13.2.2 XHTML版本        342
    13.2.3 HTML5是未来之星        342
    13.3 HTML5新特性        342
    13.3.1 跨平台的特性        343
    13.3.2 Canvas API        343
    13.3.3 WebGL        344
    13.3.4 其他特性        345
    13.4 JavaScript语言基础        346
    13.4.1 概述        346
    13.4.2 变量        347
    13.4.3 数据类型        348
    13.4.4 运算符        348
    13.4.5 语句        351
    13.4.6 对象        352
    13.4.7 函数        353
    13.4.8 事件        354
    13.5 Cocos2d-HTML5引擎        356
    13.5.1 HTML5版本介绍        356
    13.5.2 安装引擎        357
    13.5.3 示例程序        357
    13.5.4 引擎的架构        360
    13.6 JS Binding技术的实现        362
    13.6.1 概述        362
    13.6.2 SpiderMonkey        362
    13.6.3 示例程序        363
    13.7 本章小结        364
    第14章 引擎之外的附加功能        366
    14.1 概述        366
    14.2 网络通讯支持        367
    14.2.1 HTTP介绍        367
    14.2.2 curl库(libcurl)        368
    14.2.3 HTTP在引擎中的应用        368
    14.2.4 HTTP示例项目        372
    14.2.5 Socket的介绍        376
    14.2.6 BSD Socket在引擎中的应用        378
    14.3 收费模式        379
    14.3.1 下载计费        379
    14.3.2 内置计费        380
    14.3.3 广告版本        380
    14.4 社交网络在游戏中的应用        381
    14.4.1 Game Center        382
    14.4.2 OpenFeint        384
    14.5 数据分析        385
    14.5.1 Flurry介绍        386
    14.5.2 友盟        390
    第15章 Cocos2D-X引擎的未来        391
    15.1 概述        391
    15.2 Cocos2D引擎的走势        391
    15.3 Cocos2D-X引擎的不足        392
    15.3.1 丰富的UI        393
    15.3.2 完善的工具        393
    15.3.3 支持网络通迅        395
    15.3.4 版本的统一        395
    15.3.5 数据安全        396
    15.4 Cocos2D-X引擎增强的功能        396
    15.4.1 良好的中文支持        397
    15.4.2 游戏基本框架        397
    15.4.3 游戏逻辑支持        398
    15.4.4 脚本化编程        399
    15.4.5 可视化的操作界面        400
    15.5 会不会有Cocos3D?        401
    15.6 本章小结        403


    游客,如果您要查看本帖隐藏内容请回复



    评分

    参与人数 2威望 +28 飘云币 +40 收起 理由
    tree_fly + 20 + 20 PYG有你更精彩!
    GeekCat + 8 + 20 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情

    2022-9-11 16:08
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2017-3-13 15:02:01 | 显示全部楼层
    开发游戏吗?这么牛?回一个看看,谢谢了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-27 14:57
  • 签到天数: 2043 天

    [LV.Master]伴坛终老

    发表于 2017-3-13 21:11:17 | 显示全部楼层
    谢谢分享。。。。。支持一下呀。。。。。。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-6-18 20:38
  • 签到天数: 102 天

    [LV.6]常住居民II

    发表于 2017-3-13 21:27:47 | 显示全部楼层

    谢谢分享。。。。。支持一下呀。。。。。。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-2-15 21:52
  • 签到天数: 70 天

    [LV.6]常住居民II

    发表于 2017-3-13 22:18:06 | 显示全部楼层
    谢谢P.Y.G   
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-12-30 20:13
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-3-13 22:54:37 | 显示全部楼层
    谢谢分享书籍
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-10-12 11:58
  • 签到天数: 521 天

    [LV.9]以坛为家II

    发表于 2017-3-13 23:41:48 来自手机 | 显示全部楼层
    感谢楼主分享
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-9 15:43
  • 签到天数: 783 天

    [LV.10]以坛为家III

    发表于 2017-3-14 03:56:35 | 显示全部楼层
    今年的书吗看下
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-4-9 20:58
  • 签到天数: 118 天

    [LV.6]常住居民II

    发表于 2017-3-23 02:35:18 | 显示全部楼层
    看看这本书用得上不,谢谢楼主
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表