HTML5标签canvas制作动画
摘要:
canvas可以绘制图像,自然而然的就可以制作动画,因为动画的每一帧都是图像。我们可以利用javascript的setInterval函数来实现动画效果。
下面是一个例子,小圆绕着红点圆心不停的转圆圈。

代码:
<canvas id="myCanvas" width="300" height="300">
您的浏览器不支持canvas!
</canvas>
<script>
var canvas = document.getElementById('myCanvas');
if (canvas.getContext) {
var context = canvas.getContext('2d');
var posX = 100,
posY = 150,
flag = true; setInterval(function() { context.fillStyle = "#ccc";
context.fillRect(0,0,canvas.width, canvas.height);
context.beginPath();
context.fillStyle = "white"; context.arc(posX, posY, 20, 0, Math.PI*2, true);
context.closePath();
context.fill(); console.log(posX + "," + posY);
if(flag && posX < 201) {
posX += 1;
} else {
posX -= 1;
flag = false;
if(posX < 100) {
flag = true;
}
}
if(flag) {
posY = 150-Math.sqrt(2500-Math.pow(posX-150, 2));
} else {
posY = 150+Math.sqrt(2500-Math.pow(posX-150, 2));
} context.beginPath();
context.arc(150, 150, 2, 0, Math.PI*2, true)
context.fillStyle = "red";
context.fill(); }, 50);
}
</script>
HTML5标签canvas制作动画的更多相关文章
- HTML5标签canvas制作平面图
摘要: HTML5规范已经完成了,互联网上已经有数不清的站点使用了HTML5.从现在开始研究HTML5,本文是自己在学习canvas过程中的记录,以备后需. 历史: 这个 HTML 元素是为了客户端矢 ...
- html5标签canvas函数drawImage使用方法
html5中标签canvas,函数drawImage(): 使用drawImage()方法绘制图像.绘图环境提供了该方法的三个不同版本.参数传递三种形式: drawImage(image,x,y):在 ...
- 利用HTML5的canvas制作万花筒动画特效
<!DOCTYPE HTML> <html> <head> <style> #canvas{ background-color:#cccccc; } & ...
- Html5用Canvas制作画图板
需求: 绘制多边形 可填充颜色 可设置文字 可移动,可删除 鼠标按住后,抬起之前线段应该尾随鼠标当前位置 可与后台方便的进行数据交互,保存到后台,或将数据从后台取到前台显示对应的图形 思考: 第一想到 ...
- HTML5标签canvas图像处理
摘要: canvas可以读取图片后,使用drawImage方法在画布内进行重绘.本文介绍canvas的图像处理 drawImage drawImage() 方法在画布上绘制图像.画布或视频.drawI ...
- 使用Canvas制作时钟动画
复习Javascript到Canvas的知识点,看到一个使用Canvas绘制的静态时钟例子,便想将其变成动态显示系统时间的时钟动画.另外再配上数字显示的时钟,一个小的时钟模块的诞生了!目前的界面还比较 ...
- 前端制作动画的几种方式(css3,js)
制作动态的网页是是前端工程师必备的技能,很好的实现动画能够极大的提高用户体验,增强交互效果,那么动画有多少实现方式,一直对此有选择恐惧症的我就总结一下,以便在开发的时候选择最好的实现方式. 1.css ...
- 如何使用 HTML5 Canvas 制作水波纹效果
今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javasc ...
- canvas学习之制作动画
html部分 ...... <body> <canvas id="myCanvas" width="400" height="400 ...
随机推荐
- Using the SAMA5D2-compatible ADC device
Introduction Kernel Software triggers Unsigned single-ended channel conversion Setup Test procedure ...
- 解释#ifdef ALLOC_PRAGMA代码段的原理
By default, the kernel loader will load all driver executables and any global data that you may have ...
- Windows内核编程之:分页内存与非分页内存
Windows规定有些虚拟内存可以交换到文件中,这类内存被称为分页内存 有些虚拟内存 永远不会交换到文件中,这些内存叫非分页内存 #define PAGEDCODE code_seg(“PAGE”); ...
- 【oneday_onepage】——The Secret Of Steve<1>
The Secret Of SteveThe secret of Steve is simple. It explains his success and excess. It exemplifies ...
- matlab std函数 用法及实例
MATLAB常常用到std函数来进行标准差计算,下面我就通过实例介绍一下 matlab std函数怎么用. 1. std函数是用来计算标准偏差的一个函数,由于其有不同的参数,我们就用下面的例子进行介绍 ...
- CATALINA_BASE与CATALINA_HOME的区别
http://blog.csdn.net/keda8997110/article/details/21400455 —————————————————————————————————————————— ...
- install ubuntu on Android mobile phone
Android 是基于Linux内核的开源操作系统,主要用在移动设备上.当然同样是基于Linux内核的操作系统,现在支持的Android的智能手机理论来说都能运行基于Linux的操作系统,比如现在流行 ...
- VMWare链接克隆 和 完整克隆
VMware Workstation 是使用最为广泛的虚拟机软件,用软件的方式模拟硬件环境.用户可以借助VMware Workstation的模拟出来的硬件,在当前的操作系统上安装N多个虚拟的操作系统 ...
- strcpy_s与strcpy的区别
strcpy_s和strcpy()函数的功能几乎是一样的.];];strcpy_s(str1,,;}#include<iostream> #include<]; ]; strcpy ...
- github开源库(二)
21.drag-sort-listview DragSortListView(DSLV)是Android ListView的一个扩展,支持拖拽排序和左右滑动删除功能.重写了TouchIntercept ...