问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用canvas实现多个随机圆运动

发布网友 发布时间:2022-04-19 20:07

我来回答

1个回答

热心网友 时间:2022-04-20 00:29

此段代码使用canvas画布实现多个圆形自上向下滑落,圆的大小及颜色随机,背景图片可根据自己的喜好更换,只需将大小与画布大小统一即可。
文章下附有效果图
<body>
<canvasid="canvas"width="493px"height="332px"></canvas>
<scripttype="text/javascript">
var canvas=document.getElementById("canvas");//获取<canvas>元素
var context=canvas.getContext("2d");//创建画布对象
//创建构造函数Circle
function Circle(){
this.x=Math.random()*canvas.width;//在画布内随机生成x值
//随机生成三原色
this.r1 = Math.floor(Math.random()*256);
this.g = Math.floor(Math.random()*256);
this.b = Math.floor(Math.random()*256);
this.y=-10;
this.r=Math.random()*14;//随机半径r
// 绘制圆形的方法
this.paint=function(){
context.beginPath();
context.globalAlpha = 0.7;//设置透明度
context.strokeStyle="rgb("+this.r1+","+this.g+","+this.b+")";//将随机生成的三原色设为圆形的颜色
context.arc(this.x,this.y,this.r,0,Math.PI*2);//绘制圆形
context.stroke();
}
// 控制圆形移动的方法
this.step=function(){
this.y++
}
}
var circles=[];
// 创建圆形对象
function createCircles(){
var circle=new Circle();//调用构造函数
circles[circles.length]=circle;//将绘制的图形追加到数组
}
// 绘制所有圆形
function paintCircles(){
for(var i=0;i<circles.length;i++){
circles[i].paint();//遍历数组,将数组内的图形绘制
}
}
// 控制所有圆形运动
function stepCircles(){
for(var i=0;i<circles.length;i++){
circles[i].step();
}
}
//绘制一张图片
var myimg=new Image();
myimg.src="bgg.jpg";
var time=0;
//设置定时器
setInterval(function(){
context.drawImage(myimg,0,0);
time++;//控制绘制时间
if(time%20==0){
createCircles();
}
paintCircles();
stepCircles();
},50);
</script>
</body>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
创新5.10060声卡怎么关闭,为什么音质变得很差?我用的是KX 我已经装了声卡,和Kx管理器。可声音听见还是那么幼稚。怎么把声音调的... ...装不上KX3550,声卡是 创新5.1的 装完KX3550重启以后,提示 初始化... 我买了一个创新5.1 0060声卡,玩龙之谷游戏就声音不完全,只有背景音乐... 声卡5.10060KX驱动3550调试怎么弄 win11玩csgo游戏一直闪退什么原因 win11玩csgo游戏一直闪退的解决... 习惯养成心得体会 饥荒ios高脚鸟蛋怎么孵化高脚鸟怎么养 故事的力量可以从什么角度来分析? 地震前为什么要出现地震云 自己做馒头的方法步骤 HTML5用canvas怎么实现动画效果 自己做馒头的详细步骤 canvas动画为什么用setTimeout不用setInterval 怎样做馒头最好吃 canvas怎么用js控制加载时间 怎么样做出好吃的馒头 canvas前端动图如何实现 html5-canvas游戏中使用setinterval的时候在Androi... Canvas是一个时间类还是一个画笔接口?(java问题) smart canvas 如何调时间 用J2ME的canvas如何做到实时显示时间? js Canvas实现的日历时钟案例有哪些 怎样把动态canvas时间效果显示桌面 在html5的canvas中怎么在画布上显示当前的时间 如何用HTML5中的canvas制作动画时钟 怎做好馒头 怎么设置html5中canvas绘制一个图形所需的时间 馒头的做法和配方的最简单的方法? 做好的馒头为什么吃起来粘牙? 好吃的馒头怎么做好吃 使用canvas为什么要用easeljs 怎样做出好吃的馒头?? p5.js和html5 canvas两者有何区别? 如何自己做好吃的馒头 用canvas画布绘制动画作为网站的banner 馒头怎么做得好吃还很圆满? Canvas导出图片为gif,html已经可以实现动态效果如... 怎么样才能做好馒头? 如何优化 canvas cpu占用 js video通过canvas截屏两次 图片一模一样 理光复印机8110带有分页器和骑马装订的配置是什么版本? 如何除去,手上的A胶(502胶)? 水晶滴胶的a胶怎么除掉啊 AB胶中的A胶弄衣服上了,怎么去除呀,急!不想把衣... 沾在衣服上的A胶能弄掉吗 a胶滴在皮包上怎么处理 什么是A胶 怎样将AB胶去除? 手上粘了ab胶怎样去除