标签
内容简介
《HTML5+JavaScript动画基础》是《Foundation HTML5 Animation with JavaScript》的中文译本,由人民邮电出版社2013年引进出版(Apress Media授权),徐宁、李强翻译。全书以HTML5的canvas元素为载体,用原生JavaScript手写脚本动画,不依赖任何第三方动画库,也不使用WebGL。 全书共19章,分为五大部分。第一部分“JavaScript动画基础”介绍动画的基本概念、帧与运动的关系、动画循环与requestAnimationFrame、JavaScript对象与原型、鼠标、触摸、键盘交互,以及canvas渲染技术(颜色、路径、曲线、渐变、图片与像素操作);第二部分“基础运动”讲解速度向量、加速度、边界与摩擦力,以及用户拖动交互;第三部分“高级运动”深入缓动与弹动、弹簧、碰撞检测、坐标旋转与斜面反弹、撞球物理、粒子与万有引力、正向运动学(让角色行走)与反向运动学(拖曳与触碰);第四部分“3D动画”从透视原理讲到三维线条与填充、背面剔除与三维灯光、矩阵数学;第五部分“其他技术”给出实践中的秘诀与技巧。 书中涉及三角学、向量、动量守恒等内容,配有可运行的代码示例,既能帮读者理解脚本动画背后的数学与物理原理,也能动手做出游戏、交互页面与视觉特效。适合使用HTML5开发、或从Flash转向JavaScript的前端与创意开发人员。
编辑推荐
很多前端开发者做动画时第一反应是找一个库,结果只会调API,一旦需求变化就无从下手。这本书走的是另一条路:用几百行手写代码,把“运动”这件事从原理层面讲透。 它的难得之处在于体系完整。从最基础的帧与动画循环,到三角学、速度向量、缓动弹簧、碰撞检测、撞球物理、粒子引力,再到正向和反向运动学与三维透视、矩阵,一条线串到底,几乎覆盖了2D交互动画的全部常用模型。每个概念都配可运行的canvas示例,公式与代码一一对应,读者可以边跑边改、边改边看。 对从Flash时代过来的人来说,它相当于把当年ActionScript动画的经典思路平移到了HTML5 canvas;对纯前端来说,它补上了学校里没教、框架里也没有的运动学与物理直觉。虽然书中示例写于HTML5早期,部分API与浏览器支持情况已有变化,但背后的数学与建模方法并不过时,反而在canvas特效、数据可视化动效、小游戏开发中依然直接可用。
适合谁读
适合
- 已有HTML、CSS和JavaScript基础,想进一步做canvas动画的前端开发者
- 从Flash或ActionScript转向HTML5的创意开发人员
- 做小游戏、交互页面、数据可视化动效,需要手写动画逻辑的工程师
- 对脚本动画背后的数学与物理(三角学、向量、运动学)感兴趣的在校学生
不适合
- 完全没有编程经验、需要从零学JavaScript的初学者
- 只想用CSS动画或现成框架快速实现页面效果、不想深究原理的人
- 寻找React/Vue等现代前端框架实战内容的读者
阅读建议
- 先读第2至4章,把动画循环、requestAnimationFrame和canvas绘图API跑通,再进入运动部分。
- 务必边读边敲代码:自己建一个HTML文件,把书中的示例改参数、换图形,观察运动变化。
- 第10至14章的旋转、碰撞与运动学难度较高,可配合草稿纸推导公式,或先跳到3D部分再回读。
- 把每章的物理模型整理成可复用的小函数库,作为日后做特效和小游戏的工具箱。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第一部分 JavaScript动画基础
- 第1章 动画的基本概念
- 第2章 动画的JavaScript基础:HTML5与canvas支持、动画循环、requestAnimationFrame、JavaScript对象、用户交互(鼠标、触摸、键盘)
- 第3章 动画中的三角学:弧度与角度、canvas坐标系、三角函数、旋转、波、圆与椭圆、勾股定律
- 第4章 渲染技术:canvas颜色与透明度、绘图API、路径与曲线、渐变填充、加载图片与视频、操纵像素
- 第二部分 基础运动
- 第5章 速度向量与加速度
- 第6章 边界与摩擦力
- 第7章 用户交互:移动物体
- 第三部分 高级运动
- 第8章 缓动与弹动
- 第9章 碰撞检测
- 第10章 坐标旋转与斜面反弹
- 第11章 撞球物理
- 第12章 粒子与万有引力
- 第13章 正向运动学:让事物行走
- 第14章 反向运动学:拖曳与伸出
- 第四部分 3D动画
- 第15章 三维基础
- 第16章 三维线条与填充
- 第17章 背面剔除与三维灯光
- 第18章 矩阵数学
- 第五部分 其他技术
- 第19章 秘诀与技巧
常见问题
这本书需要什么基础?
需要掌握HTML、CSS和基本JavaScript语法(变量、函数、对象、事件)。书中第2章会简要回顾JavaScript对象与原型,但不会系统教语言入门;数学部分从三角函数讲起,有初中到高中基础即可跟上。
这本书用的是WebGL还是canvas?
全书以HTML5的canvas 2D绘图API为基础,用原生JavaScript手写动画,不讲解WebGL。后四章的三维内容是用2D canvas模拟透视投影、背面剔除与光照,帮助读者理解3D图形学的基本原理。
中文版和原版内容一致吗?
中文版据Apress 2011年出版的《Foundation HTML5 Animation with JavaScript》译出,全书393页,约55.3万字,目录结构与原版19章一致,由徐宁、李强翻译,人民邮电出版社2013年6月出版。
现在读还不过时吗?
书中示例写于HTML5早期,部分API(如旧版浏览器前缀、触摸事件写法)与今天的实践有差异,但动画循环、帧率控制、运动学与物理建模等核心内容依然通用,配合现代浏览器阅读收获仍然很大。
适合当作游戏开发入门书吗?
书中有碰撞检测、动量守恒、撞球物理、粒子引力、正向与反向运动学等内容,是横版游戏和交互玩具的常见底层模型;但它不讲游戏框架、资源管理、关卡设计等内容,只能作为动画与物理部分的入门。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。