canvas绘制简易动画

在canvas画布中制作动画相对来说很简单,实际上就是不断变化的坐标、擦除、重绘的过程

1、使用setInterval方法设置动画的间隔时间。

setInterval(code,millisec) setInterval方法html中固有方法,这个方法接受两个参数,第一个函数表示执行动画的函数,第二个参数为间隔时间,单位是(毫秒)。

2、用来绘图的函数

1)通过不断变换X和Y的坐标实现动画的效果。

2)在该函数中先用clearRect方法将画布整体或者局部擦除。

擦除图像clearRect方法:

context.clearRect(x,y,width,height);

x是指我们起点的横坐标,y是指我们起点的纵坐标,width是指擦子的长度,height是指擦子的高度。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>canvas绘制动画</title>
        <script src="js/canvas.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body onload="draw(‘canvas‘)">
        <canvas id="canvas" width="200" height="200"></canvas>
    </body>
</html>
var context;
var i,j;
var width,height;

function draw(id){
    var canvas = document.getElementById(id);
    context = canvas.getContext(‘2d‘);
    width = canvas.width;
    height = canvas.height;
    context.fillStyle = ‘green‘;
    context.fillRect(0,0,width,height);
    setInterval(painting,100);
    i = 0;
    j = 0;
}
function painting(){
    //例子一:
    //context.fillStyle = ‘red‘;
    //context.fillRect(i,i,10,10);
    //context.fillRect(i,200-j,10,10);
    //i++;
    //j++;

    //例子二:
    context.fillStyle = ‘white‘;
    context.clearRect(i,20,1,10);
    i++;

}
时间: 2024-11-06 21:52:48

canvas绘制简易动画的相关文章

使用canvas绘制动画时钟

一代码 <!DOCTYPE html > <head> <meta charset="UTF-8" > <title>绘制动态时钟</title> <script type="text/javascript"> var canvas; var context; function window_onload() { canvas = document.getElementById("ca

用canvas绘制一个简易时钟

在见识了html5中canvas的强大,笔者准备制作一个简易时钟. 下面就是成果啦,制作之前我们先分析一下,绘制一个时钟需要做哪些准备. 一 . 1.首先这个时钟分为表盘,指针(时针,分针,秒针)和数字三部分. 2.表盘是个圆,这个简单. 3.绘制指针时,需要先获取到系统时间,然后找到时间和角度的关系. 4.然后利用画圆函数,把起始和终点设为同一角度,即可画出射线(指针).  二. 接下来,我们再分析一下,绘制时钟需要用到的函数. 1.arc(x, y, r, start, stop) x, y

h5+canvas绘制动画时钟

h5+canvas绘制动画时钟 效果图,这个是截图,可以动的, 代码如下: <!DOCTYPE html><html><head><title>动画效果</title></head> <body> <canvas id="anm" width="600" height="600" style="border:1px solid gray"

canvas+js绘制序列帧动画

效果: 素材: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>绘制序列帧动画</title> </head> <body> <canvas id="demo"></canvas> <script type="te

html5 Canvas绘制图形入门详解

html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome.Opera.Safari.IE9+)都已经开始支持html5了.除此之外,在移动浏览器市场上,众多的移动浏览器也纷纷展开关于「html5的支持能力以及性能表现」的军备竞赛.html作为革命性的网页技术标准,再加上众多浏览器厂商或组织的鼎力支持,可以想见,html5将会成为未来网页技术的领头羊. ht

canvas 之星空动画

最近看到位博主的博客背景图很是炫酷,查找下资料了解是canvas实现效果,今天就来看看详细解剖下吧. 实现思路 首先了解下canvas中的动画原理?canvas中的动画其实是通过不断的重绘来实现动起来的效果的.通过设计小球的位置变化,达到小球不断运动的效果.同时也可以设计小球衍射,大小的变化实现其他效果.这里就只涉及小球位置,颜色的变化吧. 1,定义小球对象. var ball = { xPointer: 100, //小球初始x坐标 yPointer: 100, //小球初始y坐标 speed

Canvas绘制线条模糊的解决方案

前段时间,做一个跨平台app项目,需要绘制分时图和K线图.找了很多开源的js的图表库,包括echarts.highcharts等等,都不是很满意,原因有2: 1.太臃肿,我实际上只要一个分时和一个K线图表,最多搭配几个线形图 2.不满足需求.主要就是分时图,国内玩的js图表库,几乎都没有分时图.都是用1分钟线的收盘价线来做的,和中国股民的使用习惯完全不搭界. 多年前有人开源了一个js绘制股票图形的库,叫做html54stock,图像表现上很符合中国人的使用习惯,但是也有问题: 1.封装不好,很多

canvas粒子文字动画教程

1,什么是canvas粒子动画 canvas粒子文字动画效果绚丽,实现的方法和难点主要是根据缓动函数来确定粒子的轨迹. 2.主要实现步骤 创建一个canvas,在canva上绘制文字或图片,然后获取像素的信息并生成一个粒子数组 var imageData = ctx.getImageData(0,0,canvas.width,canvas.height); ... var dotList = []; for(var x=0; x<imageData.width; x+=mass) { for(v

用Canvas和属性动画造一只萌蠢的“小鬼”

最近没事的时候想自己写一个支持下拉刷新,上拉加载的自定义View.写着写着,就觉得最常见的"一个圈转啊转"的进度条太普通了. 于是,就想看看有没有更有趣的一点的加载效果.在GitHub上以"android loading"为关键字一搜索,就发现有作者开源了这么一个库: 库的地址是:https://github.com/ldoublem/LoadingView.里面提供了很多有趣的加载动画(非常棒),个人对其中如下一个效果产生了兴趣: 那么,开源的好处就来了,立刻打开