《HTML 5 Canvas基础教程》从HTML5和JavaScript(以及jQuery)的基础知识讲起,全面介绍了HTML5Canvas的各种特性,包括渲染上下文、坐标系统、绘制图形、保存和恢复画布状态,以及变形、合成、处理图像和视频等,让读者对Canvas建立起完整的认识。随后讨论了动画循环、记忆形状、模拟运动、碰撞检测等基本而又重要的概念,带领读者温习了必要的数学和物理知识。通过带领读者动手开发“太空保龄球”和“躲避小行星”这两款小游戏,让读者掌握开发游戏的基本流程,学会响应用户操作、创造虚拟环境、循环利用对象、设计计分系统等游戏开发必备的知识。《HTML 5 Canvas基础教程》适合各层次Web设计及开发人员阅读。
第1 章 HTML5 简介1
1.1 HTML 简史1
1.2 为什么需要HTML5 2
1.2.1 问题2
1.2.2 解决问题2
1.3 HTML5 的新特性3
1.3.1 结构和内容元素3
1.3.2 表单6
1.3.3 媒体元素7
1.4 剖析HTML5 页面的结构11
1.5 对HTML5 的误解16
1.5.1 CSS3 误解16
1.5.2 Web Fonts 误解17
1.5.3 Geolocation 误解17
1.5.4 SVG 误解17
1.5.5 Web Storage 误解18
1.5.6 Web Workers 误解18
1.5.7 WebSocket 误解18
1.6 小结19
第2 章 JavaScript 基础20
2.1 JavaScript 概述20
2.2 jQuery 21
2.2.1 jQuery 是什么21
2.2.2 为什么要使用它21
2.2.3 这是在误导你吗22
2.2.4 是否不需要理解纯JavaScript22
2.2.5 如何使用jQuery 22
2.3 在HTML 页面上添加JavaScript 23
2.4 在页面加载之后运行JavaScript 25
2.4.1 错误的方法(window.onload 事件) 26
2.4.2 冗长的方法(DOM) 26
2.4.3 简单的方法(jQuery 方法) 27
2.5 变量与数据类型28
2.5.1 变量28
2.5.2 数据类型32
2.6 条件语句33
2.6.1 if 语句33
2.6.2 比较运算符34
2.6.3 在if 语句中进行多重布尔值检查35
2.6.4 else 和else if 语句35
2.7 函数36
2.7.1 创建函数36
2.7.2 调用函数37
2.8 对象38
2.8.1 什么是对象38
2.8.2 创建和使用对象38
2.9 数组40
2.9.1 创建数组40
2.9.2 访问和修改数组41
2.10 循环41
2.11 定时器43
2.11.1 设置一次性定时器43
2.11.2 取消一次性定时器43
2.11.3 设置重复定时器43
2.11.4 取消重复定时器44
2.12 DOM44
2.12.1 HTML 网页示例44
2.12.2 使用纯JavaScript 访问DOM 45
2.12.3 使用jQuery 访问DOM46
2.12.4 操作DOM46
2.13 小结47
第3 章 Canvas 基础知识48
3.1 认识canvas 元素48
3.2 2D 渲染上下文49
3.2.1 坐标系统49
3.2.2 访问2D 渲染上下文50
3.3 绘制基本图形和线条51
3.3.1 线条53
3.3.2 圆形54
3.4 样式58
3.5 绘制文本62
3.6 擦除Canvas65
3.7 使Canvas 填满浏览器窗口69
3.8 小结71
第4 章 Canvas 高级功能72
4.1 保存和恢复绘图状态72
4.1.1 画布绘图状态是什么72
4.1.2 保存绘图状态73
4.1.3 恢复绘图状态73
4.1.4 保存和恢复多个绘图状态75
4.2 变形76
4.2.1 平移76
4.2.2 缩放78
4.2.3 旋转80
4.2.4 变换矩阵82
4.3 合成85
4.3.1 全局阿尔法值86
4.3.2 合成操作87
4.4 阴影91
4.5 渐变93
4.6 复杂路径96
4.7 将画布导出为图像100
4.8 小结102
第5 章 处理图像和视频103
5.1 加载图像103
5.2 调整和裁剪图像105
5.2.1 调整图像大小105
5.2.2 裁剪图像106
5.2.3 阴影108
5.3 图像变形110
5.3.1 平移110
5.3.2 旋转111
5.3.3 缩放与翻转111
5.4 访问像素值 113
5.5 从零绘制图像117
5.5.1 随机绘制像素119
5.5.2 创建马赛克效果119
5.6 基本图像效果123
5.6.1 反转颜色123
5.6.2 灰度124
5.6.3 像素化125
5.7 视频处理127
5.7.1 创建HTML5 video 元素 127
5.7.2 使用HTML5 video API128
5.7.3 设置画布129
5.8 小结133
第6 章 制作动画134
6.1 画布中的动画134
6.2 创建动画循环135
6.2.1 循环135
6.2.2 更新、清除、绘制137
6.3 记忆要绘制的形状138
6.3.1 错误的方法138
6.3.2 正确的方法139
6.3.3 随机产生形状142
6.4 改变方向143
6.5 圆周运动144
6.5.1 三角函数145
6.5.2 综合运用148
6.6 反弹150
6.7 小结154
第7 章 实现高级动画155
7.1 物理常识155
7.1.1 什么是物理学155
7.1.2 物理学对创建动画有何作用156
7.1.3 基本概念156
7.1.4 牛顿运动定律157
7.2 运用物理知识创建动画158
7.2.1 准备工作158
7.2.2 速度161
7.2.3 添加边界163
7.2.4 加速度163
7.2.5 摩擦力165
7.3 碰撞检测166
7.3.1 碰撞检测167
7.3.2 弹开物体170
7.3.3 动量守恒173
7.4 小结175
第8 章 太空保龄球游戏176
8.1 游戏概述176
8.2 核心功能177
8.2.1 构建HTML 代码177
8.2.2 美化界面180
8.2.3 编写JavaScript 代码182
8.3 激活用户界面183
8.4 创建游戏对象185
8.4.1 创建平台185
8.4.2 创建小行星187
8.4.3 创建玩家使用的小行星190
8.4.4 更新UI 191
8.5 让对象运动起来191
8.6 检测用户交互195
8.6.1 建立事件监听器195
8.6.2 选中玩家使用的小行星196
8.6.3 增加力度197
8.6.4 让玩家使用的小行星动起来198
8.6.5 可视化用户输入199
8.7 重置player 200
8.8 玩家获胜201
8.8.1 更新分数201
8.8.2 从平台上删除小行星202
8.9 小结205
第9 章 躲避小行星游戏206
9.1 游戏概述206
9.2 核心功能207
9.2.1 创建HTML 代码207
9.2.2 美化界面209
9.2.3 编写JavaScript 代码211
9.3 创建游戏对象213
9.3.1 创建小行星213
9.3.2 创建玩家使用的火箭215
9.4 检测键盘输入216
9.4.1 键值216
9.4.2 键盘事件216
9.5 让对象运动起来218
9.6 假造横向卷轴效果223
9.6.1 循环利用小行星223
9.6.2 添加边界223
9.6.3 让玩家保持连续移动224
9.7 添加声音224
9.8 结束游戏226
9.8.1 计分系统226
9.8.2 杀死玩家228
9.9 增加游戏难度230
9.10 小结231
第10 章 未来的Canvas232
10.1 Canvas 与SVG 232
10.1.1 可访问性233
10.1.2 位图与矢量图233
10.2 Canvas 与Flash 234
10.2.1 JavaScript 开发人员可以借鉴Flash 234
10.2.2 Canvas 没有像Flash 那样用户友好的编辑器
235
10.3 Canvas 与性能 236
10.4 Canvas 游戏和动画库236
10.5 三维图形238
10.6 与外围设备交互 239
10.7 用WebSocket 技术构建多人游戏240
10.8 灵感241
10.8.1 Sketch Out 游戏241
10.8.2 Z-Type 游戏242
10.8.3 Sinuous 游戏242
10.9 小结和结束语243
“RubyonRails™3Tutorial:LearnRailsbyExamplebyMichaelHartlhasbecomeamustreadfordev...
《锦笺记》内容简介:笺纸是古代文人用于书写的小幅花色纸张,其起源可以追溯到南北朝时期。历经唐宋之发展,至明代,笺纸追求精致
《我爱画画(Q版人物篇)》内容简介:本书共八章,包括Q版人物的基本绘制技法、人体比例与透视、美型Q版人物、中国风Q版人物、欧式
《Solidity编程:构建以太坊和区块链智能合约的初学者指南》内容简介:本书一方面从概念上介绍了Solidity编程语言,比如从以太坊虚
《无止之境:中国平安成长之路》内容简介:人文财经观察家秦朔及其团队新作首部观察中国平安集团32年发展历程的传记作品辉煌再现中
《牛妞与羊爸》内容简介:如何关爱孩子?如何教育儿女?历来是家庭生活中的大事,也是父母最上心最挠头的问题。羊爸为牛妞写了19年
《学霸教你的高效学习法》内容简介:比勤奋更重要的是方法,好的学习方法可以事半功倍,实现提分,让成绩更上一个台阶。本书是清华
C++入门经典(第3版) 本书特色 本书详述了C++语言的各个方面,包括数据类型、程序控制、函数、指针、调试、类、重载、继承、多态性、模板、异常和输入输出等内容...
在不久的将来,“智能”科技与“大数据”将更大规模地、无微不至地介入我们的政治、文化和日常生活。数字化生存的诱惑就在于,人
《破茧成蝶》内容简介:市面上已经有很多专业的用户体验书籍,但解决用户体验设计师在职场中遇到的众多现实问题的图书并不多见。本
ThisinstructorsmanualandreadersguideaccompaniesthesecondeditionofStructureandInt...
网络思想政治教育心理研究 内容简介 网络思想政治教育心理研究是思想政治教育心理学研究的重要内容,旨在通过网络时代思想政治教育心理方面有关问题的深入探讨,拓展思想...
关于构建软件,我们理应知道许多东西,但是实际上却因为这样或那样的原因不知道,甚至我们想当然的一些看法实际上是显而易见的错
.这几年,我们一直在喊“转型”,也有很多人给出了很多“经营新方向”,应该说见仁见智,但有一点需要说明,不应把转型想得、说得
金蝶ERP:K/3标准财务培训教程(11.X版) 本书特色 本书对金蝶ERP-K/3 V11.0标准财务系统模块进行了详细讲解,同时辅以大量实例,读者可以轻松、...
《老舍散文》内容简介:央视《朗读者》先后朗读《宗月大师》《我的理想家庭》 《趵突泉的欣赏》《猫》《养花》《北京的春节》等多篇
这是一本关于操作系统基本原理的教科书,其最大特点就是从操作系统的分层概念出发,深入浅出地介绍了操作系统的基本概念和基本框
小型纸品的设计,使平面设计师找到了可以真正发挥创造才能的机会。本书提供的近千幅图例,很多是在不需要满足客户要求的情况下,
计算机基础应用教程 内容简介 本书采用“任务驱动”模式编写,以完成具体案例为主线,巧妙地将知识融入每个任务之中,使学生通过完成任务来深化对知识的理解与应用,增强...
《刑法最新立法争议问题研究》内容简介:本书以《刑法修正案(九)》修法过程中及修法前后各方的意见、建议为主要研究对象,梳理、