canvas 雨滴效果

article/2025/7/15 0:38:08

昨天在网上跟着一位老师学习了如何运用canvas做雨滴效果,在学习的过程中老师所讲的几句话给我感触很深。他是这样说的“作为一名程序员就是要不停的学习,不断的深造自己。“,“你会的东西别人也会,面试官为什么不选择学历更高,经验更丰富的人呢?”,“如果你觉得现在所学习的东西很难,就抱怨,就不想学了,那么我可以跟你说,你现在就放弃吧,别做程序员了,因为等你自己出去工作的时候,你每天都需要学习,你学习的东西更多,更难,你既然选择了当程序员,入这门,你就别抱怨,难是肯定难得,难道难就可以不学吗?”。听到这几句话,我陷入了思考,是啊,学历低,你只能比别人付出的更多,来不断充实自己。让自己以后再找工作的时候能多一份优势。在这里,我非常感谢这位老师。他让我清楚的认识到只有更努力,不断学习才会比别人更有优势。以上纯属总结。好了,进入主题。

首先展示下效果图:

这里CSS就不上传图片了,因为就清掉浏览器的内边距和外边距的代码而已

HTML:

<canvas id="canvas"></canvas>

JS:

var oC=document.getElementById("canvas")var oGC=oC.getContext("2d")var w,hvar aColor=["#CC0033","#000000","#FFFFCC","#3366CC","#FF6666"]var aBubble=[];//用来存放所有的球~~function(){window.onresize=arguments.calleew=window.innerWidth;//BOMh=window.innerHeight;oC.width=woC.height=h}();/*oGC.fillStyle="red"oGC.arc(233,233,66,0,Math.PI*2)oGC.fill();var y=233;setInterval(function(){oGC.beginPath()oGC.clearRect(0,0,w,h)oGC.fillStyle="red"oGC.arc(233,y++,66,0,Math.PI*2)oGC.fill();},1000/60)*/function random(min,max){return Math.random()*(max-min)+min;}function Bubble(){};//小球的DNA 构造函数Bubble.prototype={//往小球球的DNA上添加基因init:function(){this.x=random(0,w);//新生成的小球球的X坐标值位置 0~wthis.y=random(0,h);//新生成的小球球的y坐标值位置 0~hthis.r=random(1,3);//新生成的小球球的X坐标值位置 0~wthis.color=aColor[Math.floor(random(0,5))];this.vx=random(-1,1);//小球球随机移动this.vy=random(-1,1);},draw:function(){oGC.beginPath()oGC.fillStyle=this.coloroGC.arc(this.x,this.y,this.r,0,Math.PI*2)oGC.fill();},move:function(){this.x+=this.vx;this.y+=this.vy;if (this.x-this.r<0||this.x+this.r>w) { //边缘碰撞    this.vx=-this.vx}if (this.y-this.r<0||this.y+this.r>h) {this.vy=-this.vy}this.draw();}}function creatBubble(num){for (var i=0;i<num;i++) {var bubble=new Bubble();//根据DNA生成若干个新的小球球bubble.init();//调用 bubble.draw();aBubble.push(bubble)}}creatBubble(520);setInterval(function(){oGC.clearRect(0,0,w,h)for (var item of aBubble) {//for of循环 :item变量指的是数组里面的每一个元素item.move();}},1000/60)</script>

边缘碰撞如果看不太的懂的话,这里有昨天我截下的图片:


http://chatgpt.dhexx.cn/article/aOSPRULS.shtml

相关文章

IFR202型红外雨量传感器非接触式检测降雨量的传感器

IFR202型红外雨量传感器是通过红外扫描原理非接触式检测降雨量的传感器&#xff0c;广泛应用于智慧灌溉&#xff0c;自动门窗&#xff0c;地质灾害汽车领域等行业。 概述 IFR202型红外雨量传感器是专用于测量降雨量的仪器&#xff0c;拥有知识产权&#xff0c;采用光学扫描原…

CG-62 压电式雨量传感器

产品概述 传感器由上盖、外壳和下盖组成&#xff0c;壳体内部有压电片和电路板&#xff0c;可以固定在外径50mm立柱上。传感器采用冲击测量原理对单个雨滴重量进行测算&#xff0c;进而计算降雨量。雨滴在降落过程中受到雨滴重量和空气阻力的作用&#xff0c;到达地面时速度为…

红外雨量计(光学雨量传感器)在农业智慧灌溉的应用

红外雨量计&#xff08;光学雨量传感器&#xff09;在农业智慧灌溉的应用 智慧灌溉是一种利用现代科技手段实现农田灌溉自动化的方式&#xff0c;它可以有效的提高水利资源利用效率&#xff0c;减轻农民劳动强度&#xff0c;提高作物产量和品质&#xff0c;同时还可以减少水浪…

红外光学雨量传感器的工作原理

红外光学雨量传感器的工作原理 IFR02红外光学雨量传感器是一种非接触式的雨量监测装置&#xff0c;其工作原理基于红外光学测量技术。 传感器在工作时&#xff0c;通过发射红外光束对测量区域进行照射&#xff0c;当红外光线被雨滴所遮挡时&#xff0c;光束会被反射或散射&…

光学红外雨量IFR202型传感器智慧检测雨量场景等行业

IFR202型红外雨量传感器是通过红外扫描原理非接触式检测降雨量的传感器&#xff0c;广泛应用于雨量监测&#xff0c;智慧灌溉&#xff0c;自动门窗&#xff0c;地质灾害等行业。 翻斗雨量计又叫翻斗式雨量计&#xff0c;为降水量测量一次仪表&#xff0c;可以对雨量进行实时观测…

压电式雨量传感器数字感知降雨量

产品概述 传感器由上盖、外壳和下盖组成&#xff0c;壳体内部有压电片和电路板&#xff0c;可以固定在外径50mm立柱上。传感器采用冲击测量原理对单个雨滴重量进行测算&#xff0c;进而计算降雨量。雨滴在降落过程中受到雨滴重量和空气阻力的作用&#xff0c;到达地面时速度为…

雨滴传感器(STM32学习之雨滴传感器)

目录 1.1 雨滴传感器简介 1.2 代码浅析 water.h water.c 1.1 雨滴传感器简介 为确保自适应天气控制策略执行的准确性&#xff0c;加设雨滴传感器来辅助判断天气情况。该传感器用于雨雪天气状况的监测&#xff0c;可转成数字信号或模拟信号输出。传感器采用高品质FR-04双面…

红外雨量计(光学雨量传感器)在智慧灌溉中的应用

红外雨量计&#xff08;光学雨量传感器&#xff09;在智慧灌溉中的应用 红外雨量计是一种利用红外线原理测量雨水量的传感器&#xff0c;可以用于智慧灌溉中实现精准测量和控制灌溉量&#xff0c;从而提高灌溉效率和节约水资源。 红外雨量计可以通过测量雨滴数量和大小&#x…

html实现雨滴

实现代码&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE> New Document </TITLE><META NAME"Generator" CONTENT"EditPlus"><META NAME"Autho…

arduino控制雨滴传感器

一、实物连接 二、代码实现 const int analogPinA0; //the AO of the module attach to A0 const int digitalPin7; //D0 attach to pin7 const int ledPin13; //pin 13 built-in led int Astate0; //store the value of A0 boolean Dstate0; //store the value of D0void …

Arduino 和 雨滴传感器 滴水实验

雨滴 传感器 还有一个名称叫水位传感器&#xff0c;开头以为是一块&#xff0c;放在水面能测水深的高大上&#xff0c;估计是我想多了。 这传感器表面有水的时候读取的数值就变大&#xff0c;慢慢的就变小了 应用于环境监测&#xff0c;例如是否下雨了...... 引脚说明 S ----…

html 实现雨滴落下动画效果

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…

Arduino操作记录---雨滴传感器的使用

本文纯粹是记录下自己的操作&#xff0c;方便以后集成调用&#xff0c;理论什么的可以去参考别人的文章。原来目的就是为了方便自己&#xff0c;要是不小心帮到了哪位朋友&#xff0c;那就不好意思了。 参考接线图&#xff1a; 实物接线图&#xff1a; 接线说明&#xff1a; …

Ardunio开发实例-雨滴传感器

雨滴传感器 雨量传感器用于检测水,并且可以检测湿度传感器的功能。 FC-37雨水传感器(或其他类似YL-83的版本)由两部分组成:电子板(在左侧)和收集水滴的收集板(在右侧), 如下图所示: 雨量传感器具有内置电位计,用于调节数字输出(D0)的灵敏度。 它还具有一个电源LE…

shineblink 雨滴感应传感器

雨滴感应传感器 一、传感器介绍二、接线图三、完整代码四、实验过程及结论 一、传感器介绍 雨滴感应传感器结构简单&#xff0c;价格便宜&#xff0c;可以通过暴露在电路板上的平行线路和液体的接触来测量是否有雨滴以及雨滴量大小。传感器的DO引脚用来指示是否检测到雨滴&…

雨滴传感器

雨滴雨水模块下雨 高灵敏天气传感器模块 叶面传感器模块 资料下载:https://pan.baidu.com/s/1qXGgVH6 产品用途&#xff1a; Arduino机器人套件&#xff0c;雨滴&#xff0c;下雨传感器&#xff0c;可用于各种天气状况的监测&#xff0c;并转成数定信号和AO输出。 产品介绍: 1…

基于Arduino的雨滴传感器

一、实验背景 雨滴&#xff0c;下雨传感器&#xff0c;可用于各种天气状况的监测&#xff0c; 并转成数定信号和 AO 输出。 二、实验器材 1、面包板一块 2、导线 3、Arduino主板 4、雨滴传感器 5、led灯一个、80~120欧姆电阻一个 三、雨滴传感器简介 接上 5V 电源&…

STM32-雨滴传感器

目录 0 说明&#xff1a; 1 传感器介绍 2 代码说明 2.1 ADC初始化函数&#xff08;adc.c&#xff09; 2.2 GPIO初始化函数 2.3 主函数 0 说明&#xff1a; 本篇文章主要是说明怎么使用STM32单片机读取雨滴传感器采集到的数据&#xff0c;并且附带着STM32所需要的全部代码&…

传感器系列之4.6雨滴传感器

4.6 雨滴传感器实验 一、实验目的了解雨滴传感器SSMY-002的原理与应用掌握滴传感器SSMY-002的编程与操作方法理解微处理器与滴传感器SSMY-002之间的通讯二、实验材料具有USB 串口通讯的PC 机1 台ADS1.2 集成开发软件1 套J-Link-ARM 仿真器及软件1 套NXP LPC2378 实验节点板1 个…

常用传感器讲解九--雨滴传感器

常用传感器讲解九–雨滴传感器 具体讲解 雨滴传感器基本上是一块板&#xff0c;上面以线形形式涂覆镍。它基于抵抗原理。雨水传感器模块允许通过模拟输出引脚测量湿度&#xff0c;当湿度阈值超过时&#xff0c;它可以提供数字输出。 该模块基于LM393运算放大器。它包括电子模块…