HTML5 Canvas核心技术:图形、动画与游戏开发 内容简介:

《HTML5 Canvas核心技术:图形.动画与游戏开发》

《HTML5 Canvas核心技术:图形、动画与游戏开发》中,畅销书作家David Geary(基瑞)先生以实用的范例程序直接切入这套API,全面讲解其功能,以求让读者实现出内容丰富且界面一致的网络应用程序,并将开发好的程序部署在多种设备及操作系统之上。

基本信息

 图片 1

原书名:Core HTML5 Canvas: Graphics, Animation, and Game Development

教程地址:HTML5 Canvas核心技术:图形、动画与游戏开发 PDF扫描版​

作者: (美)David Geary

 

译者: 爱飞翔

 

丛书名: 华章程序员书库

 

出版社:机械工业出版社

HTML5 Canvas核心技术:图形、动画与游戏开发 

ISBN:9787111416340

目录:

上架时间:2013-5-8

前言

出版日期:2013 年5月

第1章 基础知识

开本:16开

1.1 canvas元素

页码:1

1.1.1 canvas元素的大小与绘图表面的大小

版次:1-1

1.1.2 canvas元素的api

所属分类:计算机 > 软件与程序设计 > 网络编程 > HTML

1.2 canvas的绘图环境

图片 2

1.2.12d绘图环境

更多关于 》》》《HTML5 Canvas核心技术:图形.动画与游戏开发》

1.2.2 canvas状态的保存与恢复

内容简介

1.3 本书程序清单的规范格式

计算机书籍

1.4 开始学习html5

  《html5 canvas核心技术:图形、动画与游戏开发》是html5
canvas领域的标杆之作,也是迄今为止该领域内容最为全面和深入的著作之一,是公认的权威经典、amazon五星级超级畅销书、资深技术专家david
geary最新力作。它不仅全面讲解了canvas元素的api,以及如何利用canvas进行图形绘制、动画制作、物理效果模拟、碰撞检测、游戏开发、移动应用开发,还包含大量实例,可操作性极强。

1.4.1 规范

  
全书共分11章。第1章介绍了canvas元素及如何在网络应用程序中使用它;第2章深入研究了如何使用canvas的api进行绘制;第3章告诉读者如何绘制并操作canvas中的文本;第4章专门讲解图像、图像的操作及视频处理;第5章介绍如何实现平滑的动画效果;第6章讲解如何用javascript语言来实现精灵;第7章展示了如何在动画中模拟物理效果;第8章介绍了进行碰撞检测所用的技术;第9章以一个简单但是高效的游戏引擎开始,提供了游戏制作所需的全部支持功能;第10章讨论了实现自定义控件的通用方法;第11章专门讲述如何实现基于canvas的手机应用程序。

1.4.2 浏览器

目录

1.4.3 控制台与调试器

《html5 canvas核心技术:图形、动画与游戏开发》

1.4.4 性能

译者序

1.5 基本的绘制操作

前言

1.6 事件处理

第1章 基础知识1

1.6.1 鼠标事件

1.1 canvas元素1

1.6.2 键盘事件

1.1.1 canvas元素的大小与绘图表面的大小4

1.6.3 触摸事件

1.1.2 canvas元素的api5

1.7 绘制表面的保存与恢复

1.2 canvas的绘图环境6

1.8 在canvas中使用html元素

1.2.1 2d绘图环境6

1.9 打印canvas的内容

1.2.2 canvas状态的保存与恢复8

1.10 离屏canvas

1.3 本书程序清单的规范格式9

1.11 基础数学知识简介

1.4 开始学习html510

1.11.1 求解代数方程

1.4.1 规范10

1.11.2 三角函数

1.4.2 浏览器11

1.11.3 向量运算

1.4.3 控制台与调试器11

1.11.4 根据计量单位来推导等式

1.4.4 性能13

1.12 总结

1.5 基本的绘制操作15

第2章 绘制

1.6 事件处理18

2.1 坐标系统

1.6.1 鼠标事件18

2.2 canvas的绘制模型

1.6.2 键盘事件22

2.3 矩形的绘制

.1.6.3 触摸事件23

2.4 颜色与透明度

1.7 绘制表面的保存与恢复23

2.5 渐变色与图案

1.8 在canvas中使用html元素25

2.5.1 渐变色

1.9 打印canvas的内容32

2.5.2 图案

1.10 离屏canvas35

2.6 阴影

1.11 基础数学知识简介37

2.7 路径、描边与填充

1.11.1 求解代数方程37

2.7.1 路径与子路径

1.11.2 三角函数38

2.7.2 剪纸效果

1.11.3 向量运算39

2.8 线段

1.11.4 根据计量单位来推导等式42

2.8.1 线段与像素边界

1.12 总结44

2.8.2 网格的绘制

第2章 绘制45

2.8.3 坐标轴的绘制

2.1 坐标系统46

2.8.4 橡皮筋式的线条绘制

2.2 canvas的绘制模型47

2.8.5 虚线的绘制

2.3 矩形的绘制48

2.8.6 通过扩展canvasrenderingcontext2d来绘制虚线

2.4 颜色与透明度50

2.8.7 线段端点与连接点的绘制

2.5 渐变色与图案52

2.9 圆弧与圆形的绘制

2.5.1 渐变色52

2.9.1 arc()方法的用法

2.5.2 图案54

2.9.2 以橡皮筋式辅助线来协助用户画圆

2.6 阴影57

2.9.3 arcto()方法的用法

2.7 路径、描边与填充60

2.9.4 刻度仪表盘的绘制

2.7.1 路径与子路径63

2.10 贝塞尔曲线

2.7.2 剪纸效果64

2.10.1 二次方贝塞尔曲线

2.8 线段69

2.10.2 三次方贝塞尔曲线

2.8.1 线段与像素边界70

2.11 多边形的绘制

2.8.2 网格的绘制71

2.12 高级路径操作

2.8.3 坐标轴的绘制72

2.12.1 拖动多边形对象

2.8.4 橡皮筋式的线条绘制74

2.12.2 编辑贝塞尔曲线

2.8.5 虚线的绘制79

2.12.3 自动滚动网页,使某段路径所对应的元素显示在视窗中

2.8.6 通过扩展canvasrenderingcontext2d来绘制虚线80

2.13 坐标变换

2.8.7 线段端点与连接点的绘制81

2.13.1 坐标系的平移、缩放与旋转

2.9 圆弧与圆形的绘制83

2.13.2 自定义的坐标变换

2.9.1 arc()方法的用法83

2.14 图像合成

2.9.2 以橡皮筋式辅助线来协助用户画圆85

2.15 剪辑区域

2.9.3 arcto()方法的用法86

2.15.1 通过剪辑区域来擦除图像

2.9.4 刻度仪表盘的绘制88

2.15.2 利用剪辑区域来制作伸缩式动画

2.10 贝塞尔曲线93

2.16 总结

2.10.1 二次方贝塞尔曲线93

第3章 文本

2.10.2 三次方贝塞尔曲线95

3.1 文本的描边与填充

2.11 多边形的绘制97

3.2 设置字型属性

2.12 高级路径操作102

3.3 文本的定位

2.12.1 拖动多边形对象102

3.3.1 水平与垂直定位

2.12.2 编辑贝塞尔曲线107

3.3.2 将文本居中

2.12.3 自动滚动网页,使某段路径所对应的元素显示在视窗中115

3.3.3 文本的度量

2.13 坐标变换116

3.3.4 绘制坐标轴旁边的文本标签

2.13.1 坐标系的平移、缩放与旋转116

3.3.5 绘制数值仪表盘周围的文本标签

2.13.2 自定义的坐标变换119

3.3.6 在圆弧周围绘制文本

2.14 图像合成123

3.4 实现文本编辑控件

2.15 剪辑区域128

3.4.1 指示文本输入位置的光标

2.15.1 通过剪辑区域来擦除图像128

3.4.2 在canvas中编辑文本

2.15.2 利用剪辑区域来制作伸缩式动画133

3.4.3 文本段的编辑

2.16 总结135

3.5 总结

第3章 文本137

第4章 图像与视频

3.1 文本的描边与填充137

4.1 图像的绘制

3.2 设置字型属性141

4.1.1 在canvas之中绘制图像

3.3 文本的定位144

4.1.2 drawimage()方法的用法

3.3.1 水平与垂直定位144

4.2 图像的缩放

3.3.2 将文本居中146

4.3 将一个canvas绘制到另一个canvas之中

3.3.3 文本的度量147

4.4 离屏canvas

3.3.4 绘制坐标轴旁边的文本标签148

4.5 操作图像的像素

3.3.5 绘制数值仪表盘周围的文本标签151

4.5.1 获取图像数据

3.3.6 在圆弧周围绘制文本152

4.5.2 修改图像数据

3.4 实现文本编辑控件154

4.6 结合剪辑区域来绘制图像

3.4.1 指示文本输入位置的光标154

4.7 以图像制作动画

3.4.2 在canvas中编辑文本159

4.8 图像绘制的安全问题

3.4.3 文本段的编辑163

4.9 性能

3.5 总结174

4.9.1 对比drawimage(htmlimage)、drawimage(htmlcanvas)与putimagedata()的绘图效率

第4章 图像与视频175

4.9.2 在canvas中绘制另一个canvas与绘制普通图像之间的对比;在绘制时缩放图像与保持原样之间的对比

4.1 图像的绘制176

4.9.3 遍历图像数据

4.1.1 在canvas之中绘制图像176

4.10 放大镜

4.1.2 drawimage()方法的用法177

4.10.1 使用离屏canvas

4.2 图像的缩放179

4.10.2 接受用户从文件系统中拖放进来的图像

4.3 将一个canvas绘制到另一个canvas之中183

4.11 视频处理

4.4 离屏canvas186

4.11.1 视频格式

4.5 操作图像的像素189

4.11.2 在canvas中播放视频

4.5.1 获取图像数据189

4.11.3 视频处理

4.5.2 修改图像数据195

4.12 总结

4.6 结合剪辑区域来绘制图像208

第5章 动画

4.7 以图像制作动画211

5.1 动画循环

4.8 图像绘制的安全问题216

5.1.1 通过requestanimationframe()方法让浏览器来自行决定帧速率

4.9 性能216

5.1.2 internet explorer浏览器对requestanimationframe()功能的实现

4.9.1 对比drawimage(htmlimage)、drawimage(htmlcanvas)与putimagedata()的绘图效率217

5.1.3 可移植于各浏览器平台的动画循环逻辑

4.9.2 在canvas中绘制另一个canvas与绘制普通图像之间的对比;在绘制时缩放图像与保持原样之间的对比217

5.2 帧速率的计算

4.9.3 遍历图像数据218

5.3 以不同的帧速率来执行各种任务

4.10 放大镜222

5.4 恢复动画背景

4.10.1 使用离屏canvas224

5.4.1 利用剪辑区域来处理动画背景

4.10.2 接受用户从文件系统中拖放进来的图像225

5.4.2 利用图块复制技术来处理动画背景

4.11 视频处理227

5.5 利用双缓冲技术绘制动画

4.11.1 视频格式227

5.6 基于时间的运动

4.11.2 在canvas中播放视频229

5.7 背景的滚动

4.11.3 视频处理230

5.8 视差动画

4.12 总结234

5.9 用户手势

第5章 动画235

5.10 定时动画

5.1 动画循环235

5.10.1 秒表

5.1.1 通过requestanimationframe()方法让浏览器来自行决定帧速率237

5.10.2 动画计时器

5.1.2 internet explorer浏览器对requestanimationframe()功能的实现241

5.11 动画制作的最佳指导原则

5.1.3 可移植于各浏览器平台的动画循环逻辑241

5.12 总结

5.2 帧速率的计算248

第6章 精灵

5.3 以不同的帧速率来执行各种任务249

6.1 精灵概述

5.4 恢复动画背景250

6.2 精灵绘制器

5.4.1 利用剪辑区域来处理动画背景250

6.2.1 描边与填充绘制器

5.4.2 利用图块复制技术来处理动画背景252

6.2.2 图像绘制器

5.5 利用双缓冲技术绘制动画253

6.2.3 精灵表绘制器

5.6 基于时间的运动254

6.3 精灵对象的行为

5.7 背景的滚动257

6.3.1 将多个行为组合起来

5.8 视差动画261

6.3.2 限时触发的行为

5.9 用户手势264

6.4 精灵动画制作器

5.10 定时动画266

6.5 基于精灵的动画循环

5.10.1 秒表266

6.6 总结

5.10.2 动画计时器269

……

5.11 动画制作的最佳指导原则270

第7章 物理效果

5.12 总结271

第8章 碰撞检测

第6章 精灵272

第9章 游戏开发

6.1 精灵概述273

第10章 自定义控件

6.2 精灵绘制器275

第11章 移动平台开发

6.2.1 描边与填充绘制器275

 

6.2.2 图像绘制器279

6.2.3 精灵表绘制器281

6.3 精灵对象的行为284

6.3.1 将多个行为组合起来285

6.3.2 限时触发的行为287

6.4 精灵动画制作器289

6.5 基于精灵的动画循环293

6.6 总结294

第7章 物理效果295

7.1 重力295

7.1.1 物体的下落296

7.1.2 抛射体弹道运动298

7.1.3 钟摆运动307

7.2 时间轴扭曲311

7.3 时间轴扭曲函数315

7.4 时间轴扭曲运动317

7.4.1 没有加速度的线性运动319

7.4.2 逐渐加速的缓入运动320

7.4.3 逐渐减速的缓出运动322

7.4.4 缓入缓出运动323

7.4.5 弹簧运动与弹跳运动324

7.5 以扭曲后的帧速率播放动画326

7.6 总结332

第8章 碰撞检测333

8.1 外接图形判别法333

8.1.1 外接矩形判别法333

8.1.2 外接圆判别法334

8.2 碰到墙壁即被弹回的小球336

8.3 光线投射法337

8.4 分离轴定理(sat)与最小平移向量(mtv)340

8.4.1 使用分割轴定理检测碰撞340

8.4.2 根据最小平移向量应对碰撞362

8.5 总结373

第9章 游戏开发374

9.1 游戏引擎374

9.1.1 游戏循环376

9.1.2 加载图像382

9.1.3 同时播放多个声音384

9.1.4 键盘事件385

9.1.5 高分榜386

9.1.6 游戏引擎源代码387

9.2 游戏原型395

9.2.1 游戏原型程序的html代码396

9.2.2 原型程序的游戏循环399

9.2.3 游戏原型程序的加载画面400

9.2.4 暂停画面402

9.2.5 按键监听器404

9.2.6 游戏结束及高分榜404

9.3 弹珠台游戏407

9.3.1 游戏循环弹珠408

9.3.2 弹珠精灵410

9.3.3 重力与摩擦力411

9.3.4 弹板的移动412

9.3.5 处理键盘事件413

9.3.6 碰撞检测416

9.4 总结425

第10章 自定义控件 426

10.1 圆角矩形控件427

10.2 进度条控件433

10.3 滑动条控件437

10.4 图像查看器控件446

10.5 总结454

第11章 移动平台开发455

11.1 移动设备的视窗456

11.2 媒体特征查询技术461

11.2.1 媒体特征查询与css461

11.2.2 用javascript程序应对媒体特征的变化462

11.3 触摸事件464

11.3.1 touchevent对象464

11.3.2 touchlist对象465

11.3.3 touch对象466

11.3.4 同时支持触摸事件与鼠标事件466

11.3.5 手指缩放468

11.4 ios5469

11.4.1 应用程序图标及启动画面469

11.4.2 利用媒体特征查询技术设置ios5系统的应用程序图标及启动画面470

11.4.3 以不带浏览器饰件的全屏模式运行应用程序471

11.4.4 应用程序的状态栏471

11.5 虚拟键盘472

11.6 总结485

本图书信息来源:中国互动出版网