Html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>this is for test html5</title>
<script type="text/javascript" src="js/tank.js"></script>
</head>
<body onload="init()">
<canvas id="canvas_f" width="200" height="100">
</canvas>
<canvas id="canvas_s" width="200" height="100">
</canvas>
<canvas id="canvas_t" width="200" height="100">
</canvas>
<canvas id="canvas_fo" width="200" height="100">
</canvas>
<canvas id="canvas_fi"width="200" height="100">
</canvas>
<canvas id="canvas_si" width="200" height="100">
</canvas>
</body>
</html>
js代码:
//画布5容量下降的函数
var sY=20;
var sH=50;
var return_val=null;
var cxt5=null;
//第一张画布
var initFirst=function(){
var obj1=document.getElementById("canvas_f");
var cxt1=obj1.getContext("2d");
var grd1=cxt1.createLinearGradient(0,0,100,0);
grd1.addColorStop(0,"#000000");
grd1.addColorStop(0.5,"#FFFFFF");
grd1.addColorStop(1,"#000000");
cxt1.fillStyle=grd1;
cxt1.fillRect(0,0,100,100);
}
var initSecond=function(){
var obj2=document.getElementById("canvas_s");
var cxt2=obj2.getContext("2d");
cxt2.strokeStyle="red";
cxt2.beginPath();
cxt2.moveTo(50,0);
cxt2.lineTo(0,100);
cxt2.lineTo(100,100);
cxt2.lineTo(50,0);
cxt2.closePath();
cxt2.stroke();
}
var initThird=function(){
//虚拟油罐
var obj3=document.getElementById("canvas_t");
cxt3=obj3.getContext("2d");
//第一个点(坐标)
cxt3.moveTo(0,20);
//to第二个点(坐标)
cxt3.lineTo(50,0);
cxt3.lineTo(100,20);
var grd3=cxt3.createLinearGradient(0,20,100,20);
grd3.addColorStop(0,"#000000");
grd3.addColorStop(0.5,"#FFFFFF");
grd3.addColorStop(1,"#000000");
cxt3.fillStyle=grd3;
cxt3.fillRect(0,20,90,50);
cxt3.fillStyle="green";
cxt3.fillRect(90,20,10,50);
cxt3.fillStyle="red";
cxt3.fillRect(90,40,10,30);
cxt3.stroke();
}
var initFourth=function(){
var obj4=document.getElementById("canvas_fo");
var cxt4=obj4.getContext("2d");
cxt4.moveTo(0,20);
cxt4.lineTo(50,0);
cxt4.lineTo(100,20);
var grd4=cxt4.createLinearGradient(0,20,100,20);
grd4.addColorStop(0,"#000000");
grd4.addColorStop(0.5,"#FFFFFF");
grd4.addColorStop(1,"#000000");
cxt4.fillStyle=grd4;
cxt4.fillRect(0,20,100,50);
cxt4.stroke();
}
function initFive(){
setCount();
//通过setInterval控制每秒下降
return_val=setInterval("setCount()",1000);
}
function setCount(){
var obj5=document.getElementById("canvas_fi");
cxt5=obj5.getContext("2d");
cxt5.fillStyle="#000000";
cxt5.moveTo(0,20);
cxt5.lineTo(50,0);
cxt5.lineTo(100,20);
cxt5.fill();
var grd5=cxt5.createLinearGradient(0,20,100,20);
//渐变
grd5.addColorStop(0,"#000000");
grd5.addColorStop(0.5,"#FFFFFF");
grd5.addColorStop(1,"#000000");
cxt5.fillStyle=grd5;
cxt5.fillRect(0,20,100,50);
//右侧容量条
cxt5.fillStyle=grd5;
cxt5.fillRect(0,20,90,50);
cxt5.fillStyle="green";
cxt5.fillRect(90,20,10,50);
cxt5.fillStyle="red";
cxt5.stroke();
if(sY<70&&sH>0){
sY=parseInt(sY)+5;
sH=parseInt(sH)-5;
}
console.log("ing..."+sY+"---"+sH);
cxt5.fillRect(90,sY,10,sH);
//如果下降到0则停止
if(sY>=70||sH<=0){
clearInterval(return_val);
return_val=null;
}
}
function initSix(){
var obj6=document.getElementById("canvas_si");
var cxt6=obj6.getContext("2d");
cxt6.moveTo(150,0);
cxt6.fillStyle="red";
cxt6.lineTo(100,100);
cxt6.lineTo(200,100);
cxt6.lineTo(150,0);
cxt6.closePath();
cxt6.fill();
}
function init(){
//画布1,画渐变
initFirst();
//画布2,三角
//(moveTo:起点(x,y)lineTo从上一个点到下一个点(x,y))
initSecond();
//画布3,虚拟油罐
initThird();
//画布4
initFourth();
//画布5
initFive();
//画布6
initSix();
}
实现效果:
分享到:
相关推荐
本项目“基于HTML5 Canvas绘制的鼠标跟随三角形碎片光标动画特效源码”就是一个利用Canvas技术实现的独特视觉效果,旨在增强网站的互动性和吸引力。 在前端开发中,Canvas通过JavaScript API提供了大量的绘图功能,...
这个"基于html5 canvas绘制三角立方体图形动画特效源码.zip"的压缩包文件显然是一个前端项目,旨在教授如何利用Canvas API创建复杂的3D图形和动画效果。 首先,Canvas API是一个JavaScript接口,通过它,开发者可以...
在这个“html5 canvas绘制有趣的情绪表情动画特效”主题中,我们将深入探讨如何利用Canvas API来构建生动、有趣且具有情感表达的动画表情。 首先,Canvas是一个基于矢量图形的元素,通过JavaScript来操纵它的上下文...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉效果。在这个“html5 canvas容器温度计特效”中,我们将深入探讨如何利用Canvas API来实现一个交互式的温度计组件...
- **1.1.1 canvas元素的大小与绘图表面的大小**:`canvas`元素是HTML5中新增的一个用于绘制图形的标签。它本身并不具备任何渲染能力,必须通过JavaScript来进行绘制。该元素的尺寸可以通过CSS或直接通过`width`和`...
在这个“HTML5 canvas绘制七巧板代码”项目中,开发者可以学习如何利用JavaScript和HTML5 canvas来实现一个交互式的七巧板游戏。 七巧板是一种古老的益智玩具,由七块不同形状的木板组成,可以拼出各种不同的图案。...
这个"HTML5 Canvas绘制3D波浪粒子动画特效"项目利用了Canvas的这一特性,结合JavaScript来实现令人惊叹的视觉效果。在本文中,我们将深入探讨这个特效背后的原理、技术以及实现方法。 首先,3D波浪粒子动画的实现离...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉体验。在这个“HTML5 Canvas科技感三角形二维动画特效”中,我们看到的是利用Canvas API创建的一种引人注目的背景...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,无需依赖任何外部插件。在这个“html5 canvas熊熊火焰动画特效”中,我们将深入探讨如何利用HTML5 Canvas API创建逼真的火焰动画...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上直接绘制图形,从而创建出丰富的交互式用户体验。在这个“html5 canvas画布绘制燃烧的火焰动画特效”项目中,我们将探讨如何利用Canvas API来实现逼真...
Canvas是HTML5的一个重要特性,它允许开发者在网页上进行动态图形渲染,无需借助任何插件,提供了一种强大的、基于矢量的图形绘制能力。 首先,我们要理解Canvas的基本原理。Canvas是一个矩形区域,通过JavaScript...
HTML5是现代网页开发的重要标准,它引入了许多新特性,其中canvas元素是用于在网页上进行动态图形绘制的。这个“HTML5 canvas实现的三角形马塞克图片显示效果源码.zip”文件提供了一个利用canvas元素创建三角形...
在这个“HTML5 Canvas绘制梅雨季节在雨中撑伞行走的路人动画效果源码”中,我们可以深入探讨Canvas的几个关键知识点。 首先,Canvas是一个基于矢量图形的HTML元素,通过JavaScript API进行操作。在本项目中,开发者...
在Android编程中,Canvas是用于在屏幕上绘制图形的重要类,而Path则是用来描述复杂路径的工具,能够绘制出各种形状,如圆形、矩形、椭圆以及不规则多边形等。下面我们将深入探讨如何利用Path在Canvas上绘制这些基本...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉体验。在这个“html5 canvas线条照射爱心发光动画特效”项目中,我们将深入探讨Canvas API的应用,以及如何实现...
HTML5 Canvas 是一种在网页上绘制图形的强大工具,它允许开发者动态创建丰富的视觉内容而无需依赖外部图像。本文将深入探讨如何使用HTML5 Canvas来绘制三角形、矩形以及更复杂的多边形。 首先,我们需要了解Canvas...
HTML5 Canvas 是一种在网页上进行动态图形绘制的技术,它是HTML5标准的一部分,允许开发者使用JavaScript来创建和修改2D图形。这个初级入门教程主要涵盖了Canvas的基本概念、使用方式以及一些基本的绘图操作。 首先...
通过这个源码,初学者可以学习到如何使用HTML5 canvas进行动态图形编程,了解如何创建动画、处理颜色和渐变、响应用户输入等。对于有经验的开发者来说,这是一个很好的参考案例,可以从中学习到更多关于性能优化和...
HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,创造出丰富的视觉效果。毕达哥拉斯树(Pythagorean Tree)是一种几何艺术图案,基于毕达哥拉斯定理,通常由一系列等腰直角三角形...