Canvas_鼠标移动炫彩小球
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>canvas</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
img{
border:0;
}
ol, ul ,li{list-style: none;}
canvas{
border: 1px solid #000;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="1000" height="600"></canvas>
<script type="text/javascript">
var mycanvas = document.getElementById("mycanvas");
var ctx = mycanvas.getContext("2d");
//圆形类
function Circle(x,y,r,color){
this.x = x;
this.y = y;
this.r = r;
// 颜色的取值范围
this.color = "rgb("+ (parseInt(Math.random() * 240 ) + 9) + ","+ (parseInt(Math.random() * 220 )+18) +",203)";
//随机方向
this.dx = Math.random() * 12 - 7;
this.dy = Math.random() * 12 - 7;
//往数组中push自己
circleArr.push(this);
}
//渲染
Circle.prototype.render = function(){
//新建一条路径
ctx.beginPath();
//创建一个圆
ctx.arc(this.x, this.y, this.r, 0, Math.PI*2, true);
//设置样式颜色
ctx.fillStyle = this.color;
//通过填充路径的内容区域生成实心的图形
ctx.fill();
}
更多资料免费分享加群 120342833 验证回答 ZZ
//更新
Circle.prototype.update = function(){
this.x += this.dx;
this.y += this.dy;
this.r--;
if(this.r < 0){
for (var i = 0; i < circleArr.length; i++) {
if (circleArr[i] === this) {
circleArr.splice(i,1);
};
}
return false;
}
return true;
}
//创建一个数组
var circleArr = [];
//鼠标移动事件
mycanvas.onmousemove = function(event){
new Circle(event.clientX,event.clientY,30,"orange");
}
//设置定时器每20毫秒更新和渲染
setInterval(function(){
ctx.clearRect(0, 0, 1000, 600)
for (var i = 0; i < circleArr.length; i++) {
circleArr[i].update() && circleArr[i].render();
};
},20);
</script>
</body>
</html>
相关推荐
教你如何用canvas绘制炫彩小球
先弄一个画布 <canvas id="myCanvas" width="800" height="600"></canvas> 为了效果直观一点,我们设置了一点样式 canvas { border: 1px solid #000; background-color: #ccc; } 然后重点就在js方面了 // 得到画布 var canvas = document.getElementById("myCan
炫彩小球:基于Canvas和ES6中的Class类知识点的练习
一、项目说明及效果 github地址 一次基于Canvas和ES6中的Class类知识点的练习 实现效果:在画布上,随着鼠标移动,会产生一组绚丽的运动小球 效果截图: 二、实现思路 初始化canvas、设置初始参数 HTML结构<div id="canvas-wrapper"> <canvas id="canvas"> 当前浏览器不支持canvas,请更换...
炫彩小球案例
前言 以下是利用canvas实现炫彩小球的效果,需要利用基础的前端知识,我就来为大家展示一下叭 效果图如下 HTML <body> <canvas width="800" height="500"></canvas> </body> css 给画布设置边框样式 <style> canvas{ border: 1px solid #000; background
政府科技管理者如何高效评估科技成果的市场转化潜力?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
产业园区运营负责人如何实现园区内创新资源的智能配置?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。


非技术区
