HTML5 Canvas动画效果实现原理
在线演示
使用HTML5画布能够帮助我们快速实现简单的动画效果,基本原理如下:
每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearRect(0, 0, x, y)方法来刷新需要绘制的图形
首先是绘制图形的方法,如下:
function myAnimation() {ctx.clearRect(0, 0, canvas_size_x, canvas_size_y);if (x_icon < 0 || x_icon > canvas_size_x - size_x) {stepX = -stepX;}if (y_icon < 0 || y_icon > canvas_size_y - size_y) {stepY = -stepY;}x_icon += stepX;y_icon += stepY;ctx.drawImage(anim_img, x_icon, y_icon); }
以上方法每隔一定时间清除画布内容,并且重新计算绘制图形位置,一旦超过了画布大小,则反转坐标绘制图形。
下面是实际绘制图形方法:
function draw() {var canvas = document.getElementById("canvas");ctx = canvas.getContext("2d");anim_img = new Image(size_x, size_y);anim_img.onload = function() {setInterval('myAnimation()', 5);}anim_img.src = 'http://www.gbtags.com/gb/networks/avatars/80x8013d6393f-a44c-4180-8cb6-7bf0e4776283.png'; }
以上方法将图形定义,并且调用实际绘制动画的方法,搞定!
如果大家对于HTML5绘制动画有兴趣,或者希望了解如何模拟物理动画效果,请阅读下面的互动教程,相信能够帮助你更好理解HTML画布:
HTML5 Canvas动画效果实现原理相关推荐
- html动画的 原理,HTML5 Canvas动画效果实现原理
在线演示 使用html5画布能够帮助我们快速实现简单的动画效果,基本原理如下: 每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearrect(0, 0, x, ...
- HTML5 Canvas动画效果演示
HTML5 Canvas动画效果演示 主要思想: 首先要准备一张有连续帧的图片,然后利用HTML5 Canvas的draw方法在不同的时间 间隔绘制不同的帧,这样看起来就像动画在播放. 关键技术点: ...
- canvas动画科技园_7个惊艳的HTML5 Canvas动画效果及源码
HTML5非常强大,尤其是现在大部分浏览器都支持HTML5和CSS3,用HTML5制作的动画也多了起来.另外,Canvas上绘制图形非常简单,本文就分享了一些强大的HTML5 Cnavas动画,一起来 ...
- html5的canvas动画效果,HTML5 Canvas:制作动画特效
要在HTML5 canvas中绘制图像动画效果,你需要绘制出每一帧的图像,然后在一个极短的时间内从一帧过渡到下一帧,形成动画效果.这其实是一种视觉欺骗,原理就像播放电影一样,胶片上每一格是一帧图片,然 ...
- html5字体动画效果,7款超华丽的HTML5 Canvas文字动画特效
原标题:7款超华丽的HTML5 Canvas文字动画特效 文字是网页中最为常见的元素之一,当然我们使用最多的就是调整文字的颜色.大小等基本属性.有时候我们在一些活动页面上需要展示特别样式的文字效果,这 ...
- html5常用动画效果教程,HTML5教程 8个经典HTML5 Canvas动画学习
本篇教程探讨了HTML5教程 8个经典HTML5 Canvas动画学习,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < HTML5非常强大,尤其是Canvas ...
- html5 游戏 动画设计,HTML5 Canvas 动画实例
原标题:HTML5 Canvas 动画实例 在开发在线游戏时,绘制动画是非常重要的.本节介绍一个使用 Canvas API 实现的动画实例--游戏人物的跑步动画. 动画的概念及原理 1.动画 动画是通 ...
- 7 个顶级的 HTML5 Canvas 动画赏析
HTML5确实是一项改革浏览器乃至整个软件行业的新技术,它可以帮助我们Web开发者很方便地在网页上实现动画特效,而无需臃肿的Flash作为支撑.本文分享7个顶级的HTML5 Canvas 动画,都有非 ...
- html5 粒子动画效果制作,8款惊艳的HTML5粒子动画特效
原标题:8款惊艳的HTML5粒子动画特效 HTML5确实非常强大,很多时候我们可以利用HTML5中的新技术实现非常炫酷的粒子动画效果,粒子动画在HTML5应用中也是比较消耗本地资源的,尤其是CPU,但 ...
最新文章
- 工业互联网平台创新发展白皮书(2018)
- Summary Ranges
- 51nod 1158 全是1的最大子矩阵(单调栈 ,o(n*m))
- 【c基础】之 文件及其操作
- hbase 查询_不用ES也能海量数据复杂查询秒回
- UNIX环境高级编程之第9章:进程关系
- 计算机电路与电子学试卷,电路与电子学(第5版)学习指导与习题解答
- 漫画:996的本质是什么?
- ##稻盛和夫的名言##
- vmware虚拟机序列号
- PS 2019 Mac版 自学入门系列(六)——裁剪和拉直图像
- H3C 无线WLAN侧AC+FIA配置
- Win7升为Win10以及win7系统的重装
- 学习LSM(Linux security module)之一:解读yama
- 什么是两化融合贯标?对企业有什么好处?
- 云服务器liunx系统怎么安装,云服务器怎么安装linux系统
- stm32实现Systick的毫秒级延时和微妙级延时
- 李现成为PADI全球青年海洋大使
- 记录一下 yum install *** 报错问题:failure: repodata/repomd.xml from tvinternal_dev: [Errno 256] No more mirr
- 团队开发,filezilla共享配置文件
热门文章
- hdu4807枚举费用流
- 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 )
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | ClassLoader#loadClass 函数分析 | BaseDexClassLoader#findClass 分析 )
- 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )
- 【EventBus】发布-订阅模式 ( Android 中使用 发布-订阅模式 进行通信 )
- 【错误记录】p7zip 交叉编译 Android 版本 NDK 报错 ( error: case value evaluates to -2 , which cannot be narrowed )
- 【计算机网络】网络层 : IP 数据报格式 ( IP 数据报首部格式 )
- Python单例设计模式
- 末学者daylight__Linux磁盘管理及LVM
- 2017-2018-1 20155207 《信息安全系统设计基础》第四周学习总结