在线演示

使用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动画效果实现原理相关推荐

  1. html动画的 原理,HTML5 Canvas动画效果实现原理

    在线演示 使用html5画布能够帮助我们快速实现简单的动画效果,基本原理如下: 每隔一定时间绘制图形并且清除图形,用来模拟出一个动画过程,可以使用context.clearrect(0, 0, x, ...

  2. HTML5 Canvas动画效果演示

    HTML5 Canvas动画效果演示 主要思想: 首先要准备一张有连续帧的图片,然后利用HTML5 Canvas的draw方法在不同的时间 间隔绘制不同的帧,这样看起来就像动画在播放. 关键技术点: ...

  3. canvas动画科技园_7个惊艳的HTML5 Canvas动画效果及源码

    HTML5非常强大,尤其是现在大部分浏览器都支持HTML5和CSS3,用HTML5制作的动画也多了起来.另外,Canvas上绘制图形非常简单,本文就分享了一些强大的HTML5 Cnavas动画,一起来 ...

  4. html5的canvas动画效果,HTML5 Canvas:制作动画特效

    要在HTML5 canvas中绘制图像动画效果,你需要绘制出每一帧的图像,然后在一个极短的时间内从一帧过渡到下一帧,形成动画效果.这其实是一种视觉欺骗,原理就像播放电影一样,胶片上每一格是一帧图片,然 ...

  5. html5字体动画效果,7款超华丽的HTML5 Canvas文字动画特效

    原标题:7款超华丽的HTML5 Canvas文字动画特效 文字是网页中最为常见的元素之一,当然我们使用最多的就是调整文字的颜色.大小等基本属性.有时候我们在一些活动页面上需要展示特别样式的文字效果,这 ...

  6. html5常用动画效果教程,HTML5教程 8个经典HTML5 Canvas动画学习

    本篇教程探讨了HTML5教程 8个经典HTML5 Canvas动画学习,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < HTML5非常强大,尤其是Canvas ...

  7. html5 游戏 动画设计,HTML5 Canvas 动画实例

    原标题:HTML5 Canvas 动画实例 在开发在线游戏时,绘制动画是非常重要的.本节介绍一个使用 Canvas API 实现的动画实例--游戏人物的跑步动画. 动画的概念及原理 1.动画 动画是通 ...

  8. 7 个顶级的 HTML5 Canvas 动画赏析

    HTML5确实是一项改革浏览器乃至整个软件行业的新技术,它可以帮助我们Web开发者很方便地在网页上实现动画特效,而无需臃肿的Flash作为支撑.本文分享7个顶级的HTML5 Canvas 动画,都有非 ...

  9. html5 粒子动画效果制作,8款惊艳的HTML5粒子动画特效

    原标题:8款惊艳的HTML5粒子动画特效 HTML5确实非常强大,很多时候我们可以利用HTML5中的新技术实现非常炫酷的粒子动画效果,粒子动画在HTML5应用中也是比较消耗本地资源的,尤其是CPU,但 ...

最新文章

  1. 工业互联网平台创新发展白皮书(2018)
  2. Summary Ranges
  3. 51nod 1158 全是1的最大子矩阵(单调栈 ,o(n*m))
  4. 【c基础】之 文件及其操作
  5. hbase 查询_不用ES也能海量数据复杂查询秒回
  6. UNIX环境高级编程之第9章:进程关系
  7. 计算机电路与电子学试卷,电路与电子学(第5版)学习指导与习题解答
  8. 漫画:996的本质是什么?
  9. ##稻盛和夫的名言##
  10. vmware虚拟机序列号
  11. PS 2019 Mac版 自学入门系列(六)——裁剪和拉直图像
  12. H3C 无线WLAN侧AC+FIA配置
  13. Win7升为Win10以及win7系统的重装
  14. 学习LSM(Linux security module)之一:解读yama
  15. 什么是两化融合贯标?对企业有什么好处?
  16. 云服务器liunx系统怎么安装,云服务器怎么安装linux系统
  17. stm32实现Systick的毫秒级延时和微妙级延时
  18. 李现成为PADI全球青年海洋大使
  19. 记录一下 yum install *** 报错问题:failure: repodata/repomd.xml from tvinternal_dev: [Errno 256] No more mirr
  20. 团队开发,filezilla共享配置文件

热门文章

  1. hdu4807枚举费用流
  2. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 1 的傅里叶变换 )
  3. 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | ClassLoader#loadClass 函数分析 | BaseDexClassLoader#findClass 分析 )
  4. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )
  5. 【EventBus】发布-订阅模式 ( Android 中使用 发布-订阅模式 进行通信 )
  6. 【错误记录】p7zip 交叉编译 Android 版本 NDK 报错 ( error: case value evaluates to -2 , which cannot be narrowed )
  7. 【计算机网络】网络层 : IP 数据报格式 ( IP 数据报首部格式 )
  8. Python单例设计模式
  9. 末学者daylight__Linux磁盘管理及LVM
  10. 2017-2018-1 20155207 《信息安全系统设计基础》第四周学习总结