9957592448974979073
¥ 12.81 1.5折 ¥ 85 九五品
库存2件
作者张鑫磊 著
出版社电子工业出版社
出版时间2016-03
版次1
装帧平装
货号9957592448974979073
上书时间2024-12-03
《Egret——HTML5游戏开发指南》由浅入深,在讲解游戏开发基础的同时提供众多实战案例供读者学习。《Egret——HTML5游戏开发指南》章节内容包含Egret基础概念及基础图形图像处理方法、网络相关操作、移动设备适配、性能优化、文本动画相关知识、调试技巧、DragonBones骨骼动画系统和P2物理引擎等。通过《Egret——HTML5游戏开发指南》,读者可以了解并掌握HTML5游戏开发技能,并通过Egret开发复杂又好玩的HTML5游戏。
《Egret——HTML5游戏开发指南》适合喜欢游戏且有志于成为HTML5游戏开发者的人阅读,也适合具备其他平台游戏开发经验的人以及前端开发工程师了解和掌握HTML5开发技巧,并进入HTML5游戏开发领域
张鑫磊,Egret 社区技术经理,网络ID:A闪,前畅游技术推广经理,Ardunio爱好者。拥有多年游戏开发经验,曾担任Flash线上培训讲师,热衷于新鲜技术分享,现负责Egret社区与技术推广相关工作。
第1 章 欢迎来到HTML5 的世界 1
1.1 什么是HTML5 1
1.2 HTML5 的前世今生 3
1.3 W3C 与WHATWG 工作组 4
1.4 令人称赞的Canvas 与WebGL 5
1.4.1 Canvas 5
1.4.2 WebGL 5
1.5 何为HTML5 游戏 6
1.5.1 从技术角度出发 6
1.5.2 从非技术角度出发 6
1.6 HTML5 游戏的特点与痛点 6
1.6.1 特点 7
1.6.2 痛点 8
1.7 HTML5 游戏的当下与未来 9
1.7.1 产品研发阶段 9
1.7.2 测试上线运营阶段 12
1.7.3 未来 13
1.8 小结 13
第2 章 奇妙的前端之旅 14
2.1 JavaScript 的苦与痛 14
2.2 伟大的ECMAScript 标准 15
2.2.1 ECMAScript 标准是什么 15
2.2.2 历史 15
2.2.3 版本 16
2.3 JavaScript 的代替品:Dart、CoffeeScript、
TypeScript 16
2.3.1 Dart 16
2.3.2 CoffeeScript 17
2.3.3 TypeScript 17
2.4 初出茅庐的WebAssembly 18
2.4.1 WebAssembly 是什么 18
2.4.2 asm.js 18
2.5 HTML5 游戏开发利器――游戏引擎 18
2.6 一个神器:Egret Runtime 19
2.6.1 什么是Egret Runtime 19
2.6.2 为什么要用 Egret Runtime 19
2.7 小结 21
第3 章 Hello Egret 22
3.1 Egret 引擎简介 22
3.1.1 Egret 引擎的特点 22
3.1.2 Egret 引擎的主要功能 23
3.1.3 Egret 引擎的应用案例 24
3.2 搭建开发环境 25
3.2.1 Egret 引擎版本的选择 25
3.2.2 Egret Wing:强大的IDE 工具 31
3.2.3 ResDepot:资源管理工具 33
3.2.4 Texture Merger:资源打包工具 33
3.3 Hello World 34
3.3.1 创建第一个项目 34
3.3.2 运行项目 36
3.3.3 修改一下,成为自己的Hello World
37
3.4 Hello World 分析 38
3.4.1 项目源代码目录 38
3.4.2 项目配置文件 38
3.4.3 项目运行库 39
3.4.4 项目编译目录 39
3.4.5 项目资源目录 40
3.4.6 项目发布目录 40
3.5 库与代码风格 41
3.5.1 Egret 引擎的代码风格 41
3.5.2 核心库与扩展库的使用方法 42
3.5.3 第三方库的集成方法 42
3.6 命令行模式详解 45
3.6.1 创建项目 45
3.6.2 编译项目 45
3.6.3 运行项目 46
3.6.4 发布项目 47
3.6.5 了解更多 47
3.7 小结 48
第4 章 游戏的基础知识 49
4.1 显示对象 49
4.1.1 什么是显示对象 49
4.1.2 坐标系 51
4.1.3 显示对象的种类 57
4.1.4 显示列表 58
目录
4.2 显示对象的架构 58
4.2.1 容器与非容器 58
4.2.2 DisplayObject 类与DisplayObjectContainer 类 62
4.2.3 Sprite 与Shape 62
4.3 Shape 矢量图 67
4.3.1 绘制矩形 68
4.3.2 清空绘图 70
4.3.3 绘制圆形 70
4.3.4 绘制直线 72
4.3.5 绘制曲线 74
4.3.6 绘制圆弧 76
4.3.7 多个形状的绘制 77
4.4 显示列表与容器类 79
4.4.1 关于显示容器 79
4.4.2 添加与删除显示对象 81
4.4.3 显示对象操作的注意点 83
4.5 遮罩与碰撞检测 87
4.5.1 遮罩的使用 87
4.5.2 非精确碰撞检测 91
4.5.3 精确碰撞检测 92
4.5.4 包围盒碰撞 94
4.6 混合模式 96
4.6.1 NORMAL 模式 96
4.6.2 ADD 模式 99
4.6.3 ERASE 模式 102
4.7 小结 103
第5 章 事件与用户交互 104
5.1 事件消息机制 104
5.1.1 事件处理机制的原理 104
5.1.2 第一个事件处理的例子 105
5.1.3 事件流机制 105
5.2 事件 107
5.2.1 事件类 107
5.2.2 自定义事件 110
5.3 侦听器 110
5.3.1 创建侦听器 110
5.3.2 注册侦听器与移除侦听器 112
5.3.3 侦听器中的this 112
5.4 事件的优先级 113
5.5 自定义事件发送类 114
5.5.1 继承EventDispatcher 114
5.5.2 复合EventDispatcher 114
5.5.3 实现IEventDispatcher 接口 115
5.6 触摸事件 117
5.6.1 触摸事件类型 117
5.6.2 开启touchEnable 117
5.7 实践:同色点点看 118
5.8 小结 125
第6 章 游戏资源管理 126
6.1 RES 资源加载模块 126
6.2 资源配置文件 127
6.3 加载资源配置文件 129
6.3.1 外部文件 129
6.3.2 直接读取 130
6.3.3 对比说明 130
6.4 预加载资源组 131
6.5 动态创建资源组 132
6.6 读取资源文件 133
6.7 资源的缓存机制 135
6.8 释放资源 136
6.9 内置文件类型解析器 136
6.9.1 配置九宫格参数 136
6.9.2 配置声音资源 138
6.9.3 读取解析二进制文件 138
6.10 扩展资源文件类型解析器 139
6.11 小结 139
第7 章 位图操作 140
7.1 创建位图 140
7.1.1 认识位图 140
7.1.2 位图格式 140
7.1.3 位图来源 141
7.1.4 位图加载 141
7.1.5 位图显示 141
7.2 操作纹理集 142
7.2.1 从RES 中获取纹理 142
7.2.2 SpriteSheet 纹理集类 142
7.3 纹理填充方式 145
7.3.1 位图填充拉伸以填充区域 146
7.3.2 重复位图以填充区域 146
7.4 位图的九宫格 147
7.4.1 缘起 147
7.4.2 九宫格原理 148
7.4.3 代码中使用九宫格 148
7.4.4 通过ResDepot 设置九宫格 149
7.5 滤镜 151
7.5.1 滤镜可用性及WebGL 开关 151
7.5.2 发光滤镜 152
7.5.3 投影滤镜 153
7.5.4 颜色矩阵滤镜 154
目录VII
7.5.5 模糊滤镜 156
7.5.6 设置滤镜品质 157
7.5.7 滤镜使用优化技巧 157
7.6 实践:《抓间谍》 158
7.6.1 游戏设计稿 158
7.6.2 准备素材 158
7.6.3 编写代码 158
7.7 小结 162
第8 章 文本 163
8.1 普通文本 163
8.1.1 创建普通文本 163
8.1.2 设置文本样式 168
8.1.3 字体的设置 170
8.1.4 多样式混合文本 172
8.1.5 设置文本超链接 175
8.2 输入文本 177
8.2.1 创建可输入文本 177
8.2.2 设置输入文本样式 178
8.3 位图文本 179
8.3.1 创建位图文本字体 179
8.3.2 位图文本的使用 181
8.4 实践:游戏登录和活动公告板 183
8.5 小结 192
第9 章 动画与粒子特效 193
9.1 逐帧动画 193
9.1.1 逐帧动画简介 193
9.1.2 动画素材制作方法 194
9.1.3 创建一个逐帧动画 198
9.1.4 播放和暂停动画 202
9.1.5 跳转动画 202
9.1.6 动态切换动画数据 202
9.1.7 动画的缓存机制 203
9.1.8 动画数据详解 203
9.2 缓动动画 206
9.2.1 Tween 缓动动画 206
9.2.2 缓动的基本用法 207
9.2.3 缓动对象的基本控制参数 208
9.2.4 缓动对象的缓动变化事件 208
9.2.5 缓动过程参数设定 208
9.2.6 缓动对象的其他方法 208
9.3 粒子特效 209
9.3.1 粒子系统简介 209
9.3.2 粒子系统使用 210
9.3.3 自定义粒子特效 211
9.4 小结 212
第10 章 音乐与音效 214
10.1 声音类 214
10.1.1 egret.Sound 类 214
10.1.2 使用声音类 215
10.2 音频控制类 218
10.2.1 播放 218
10.2.2 音量 218
10.2.3 暂停 218
10.3 声音事件 222
10.4 音乐与音效类型设置 225
10.5 小结 226
第11 章 数据操作 227
11.1 JSON 数据操作 227
11.1.1 JSON 数据格式简介 227
11.1.2 为什么使用JSON 数据格式 228
11.1.3 在Egret 中加载JSON 数据 229
11.1.4 在Egret 中操作JSON 数据 229
11.2 二进制数据操作 230
11.2.1 读取二进制数据对象 230
11.2.2 写入字节流 230
11.2.3 定位字节流指针 231
11.2.4 读取字节流 231
11.2.5 大端模式与小端模式 232
11.3 实践:仿《找你妹》游戏 233
11.3.1 游戏策划案 233
11.3.2 准备资源 234
11.3.3 编写代码 235
11.4 小结 240
第12 章 网络通信 241
12.1 HTTP 网络请求 241
12.1.1 构建简单的网络请求 241
12.1.2 POST 与 GET 请求 242
12.1.3 发送带有数据的网络请求 244
12.1.4 检测网络请求状态 247
12.2 WebSocket 通信 247
12.2.1 创建WebSocket 连接 248
12.2.2 发送数据 249
12.2.3 读取数据 249
12.2.4 WebSocket 的网络状态 250
12.2.5 断开与重连服务器 251
12.3 实践:游戏中的聊天室 251
12.4 小结 259
第13 章 计时器与心跳控制器 260
13.1 Timer 260
13.1.1 创建计时器 260
13.1.2 加入计时器事件侦听 260
13.1.3 启动计时器 261
13.1.4 修改计时器时间间隔 261
13.1.5 修改计时器 261
13.2 Ticker 262
13.2.1 Ticker 与Timer 的不同 262
13.2.2 开启心跳侦听 262
13.2.3 移除心跳侦听 263
13.2.4 Ticker 的最新用法 263
13.3 setTimeout 与clearTimeout 264
13.4 getTimer 265
13.5 《抓间谍》和《找你妹》 265
13.5.1 《抓间谍》 265
13.5.2 《找你妹》 267
13.6 小结 268
第14 章 反射机制与依赖注入 270
14.1 反射机制 270
14.1.1 什么是反射机制 270
14.1.2 getDefinitionByName 方法 274
14.1.3 获取运行时对象类型 275
14.1.4 检查域内定义 276
14.2 依赖注入 277
14.2.1 什么是依赖注入 277
14.2.2 Injector 注入器 278
14.2.3 注入器的应用场景 281
14.3 小结 281
第15 章 屏幕适配与环境交互 282
15.1 4 种屏幕适配策略 282
15.1.1 设置屏幕适配策略 282
15.1.2 exactFit 模式 283
15.1.3 noScale 模式 283
15.1.4 showAll 模式 284
15.1.5 fixedWidth 模式和fixedHeight 模式 285
15.1.6 noBorder 模式 286
15.1.7 在程序内设置缩放模式 286
15.2 屏幕方向设置 286
15.2.1 竖屏模式 287
15.2.2 横屏模式 288
15.2.3 反向横屏模式 288
15.2.4 自动模式 289
15.3 环境交互 289
15.3.1 Egret 与网页JavaScript 交互 289
15.3.2 读取网页GET 参数 290
15.4 小结 290
第16 章 调试与性能检测 291
16.1 TypeScript 断点调试 291
16.2 日志输出面板 298
16.2.1 打开日志显示开关 299
16.2.2 输出日志 299
16.2.3 显示脏矩形和帧频信息 299
16.3 Egret Inspector 浏览器调试工具 300
16.3.1 安装Egret Inspector 301
16.3.2 运行Egret Inspector 302
16.4 小结 302
第17 章 打包发布到原生平台 303
17.1 打包原生APP 原理 303
17.1.1 编译型语言和解释型语言 303
17.1.2 浏览器内核与JavaScript 解释器 303
17.2 打包为iOS 原生APP 304
17.2.1 下载Egret iOS Support 305
17.2.2 将HTML5 游戏打包为iOS 原生
APP 305
17.3 打包为Android 原生APP 306
17.3.1 下载Egret Android Support 306
17.3.2 将HTML5 游戏打包为Android 原
生APP 306
17.4 打包为Runtime 版本 308
17.4.1 打包Egret Runtime 版本 308
17.4.2 测试Runtime 版本游戏 309
17.4.3 Egret Runtime 中的白名单 310
17.5 小结 311
第18 章 DragonBones 骨骼动画系统 312
18.1 DragonBones 简介 312
18.1.1 DragonBones 的由来 312
18.1.2 DragonBones 产品家族 313
18.1.3 DragonBones 产品特点 313
18.2 2D 骨骼动画的基本概念 314
18.2.1 骨骼动画的优势和原理 314
18.2.2 DragonBones 2D 骨骼动画中的常用术语 314
18.3 DragonBones Pro 介绍 316
18.3.1 DragonBones Pro 的下载与安装 316
18.3.2 编辑界面详解 318
18.3.3 基本动画项目 329
18.3.4 项目的导入与导出 331
18.4 DragonBones 骨骼动画开发入门 333
18.4.1 做好准备工作 333
18.4.2 学习一个示例 334
18.5 DragonBones 骨骼动画数据格式详解 338
18.5.1 DragonBones 4.0 格式说明 338
18.5.2 Armature 数据格式 341
18.5.3 Bone 数据格式 342
18.5.4 Slot 数据格式 342
18.5.5 Skin 数据格式 343
18.5.6 Animation 数据格式 344
18.6 DragonBones 骨骼动画事件系统详解 346
18.7 DragonBones 常用高级特性 347
18.7.1 动态换装 347
18.7.2 程序控制骨骼运动 349
18.7.3 改变动画速度 349
18.7.4 动画复用 350
18.7.5 动画遮罩与混合 350
18.8 DragonBones 极速模式 351
18.8.1 极速模式简介 351
18.8.2 快速使用极速模式 352
18.8.3 极速模式详解 353
18.8.4 深入使用数据缓存 355
18.9 小结 356
第19 章 P2 物理引擎 357
19.1 P2 物理引擎简介 357
19.1.1 什么是P2 物理引擎 357
19.1.2 创建一个P2 物理项目 358
19.1.3 用p2DebugDraw 实现模拟视图 361
19.2 P2 中的形状 365
19.2.1 形状 365
19.2.2 形状属性 375
19.2.3 形状贴图 378
19.3 刚体属性 380
19.3.1 速度相关 380
19.3.2 角度相关 383
19.3.3 对象相关 385
19.3.4 其他属性 385
19.4 刚体操作 388
19.4.1 addBody 和removeBody 388
19.4.2 addShape 和removeShape 388
19.4.3 adjustCenterOfMass 391
19.4.4 applyForce 393
19.4.5 applyImpulse 398
19.4.6 sleep 和wakeup 403
19.4.7 emit、on、off、has 406
19.4.8 fromPolygon 408
19.4.9 hitTest 413
19.4.10 getAABB 416
19.4.11 getArea 421
19.4.12 setDensity 421
19.4.13 overlaps 422
19.4.14 toWorldFrame 和toLocalFrame 426
19.4.15 rayCast 429
19.4.16 RayCastResult 类 432
19.4.17 Raycast 应用实例 433
19.5 碰撞处理 438
19.5.1 认识碰撞 439
19.5.2 碰撞事件 442
19.5.3 碰撞信息Equation 445
19.6 关节 452
19.6.1 DistanceConstraint 452
19.6.2 GearConstraint 457
19.6.3 LockConstraint 458
19.6.4 PrismaticConstraint 464
19.6.5 RevoluteConstraint 469
19.7 弹簧 474
19.7.1 LinearSpring 474
19.7.2 RotationalSpring 476
19.8 小结 477
— 没有更多了 —
以下为对购买帮助不大的评价