时间:2021-05-26
本文实例为大家分享了js实现三角形粒子运动的具体代码,供大家参考,具体内容如下
效果(这里只是截了一个静态图,实际上里面的粒子是运动状态的):
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>粒子</title> <style> * { margin: 0; padding: 0; } body { overflow: hidden; } </style> <script> //随机数获取 3 10 *7+3 function random(min, max) { return Math.random() * (max - min) + min; } //亮色系 // colors = ['#7cb5ec', '#434348', '#90ed7d', '#f7a35c', '#8085e9', '#f15c80', '#e4d354', '#8085e8', '#8d4653', '#91e8e1']; //暗色系 colors = ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'] //获取窗口宽高 var width = window.innerWidth; var height = window.innerHeight; function Bubble() { this.r = random(5, 100); this.x1 = random(this.r, this.r * 2); this.y1 = random(this.r, this.r * 2); this.x2 = random(this.r, this.r * 2); this.y2 = random(this.r, this.r * 2); this.x3 = random(this.r, this.r * 2); this.y3 = random(this.r, this.r * 2); //随机获取colors数组里的颜色 this.color = colors[Math.floor(random(0, colors.length))]; //偏移步长 this.xr = random(-5, 5); this.yr = random(-5, 5); } Bubble.prototype = { //绘制 draw: function (context) { //开始路径 context.beginPath(); context.moveTo(this.x1, this.y1); context.lineTo(this.x2, this.y2); context.lineTo(this.x3, this.y3); context.lineTo(this.x1, this.y1); context.fillStyle = this.color; context.fill(); }, //移动 move: function (context) { this.x1 += this.xr; this.y1 += this.yr; this.x2 += this.xr; this.y2 += this.yr; this.x3 += this.xr; this.y3 += this.yr; //边缘检测 (this.x1 > width || this.x1 < 0) ? this.xr = -this.xr : null; (this.y1 > height || this.y1 < 0) ? this.yr = -this.yr : null; (this.x2 > width || this.x2 < 0) ? this.xr = -this.xr : null; (this.y2 > height || this.y2 < 0) ? this.yr = -this.yr : null; (this.x3 > width || this.x3 < 0) ? this.xr = -this.xr : null; (this.y3 > height || this.y3 < 0) ? this.yr = -this.yr : null; this.draw(context); } } window.onload = function () { //获取画布dom var canvas = document.querySelector('canvas'); //设置canvas的宽高 canvas.width = width; canvas.height = height; //获取画布上下文对象 var context = canvas.getContext('2d'); //数组存储bubble var arr = []; //生成粒子 var total = 100; //生成例子 for (var i = 0; i < total; i++) { var bubble = new Bubble(); bubble.draw(context); arr.push(bubble); } var id = setInterval(function () { //清除 context.clearRect(0, 0, width, height); //开始移动 for (var i = 0; i < arr.length; i++) { arr[i].move(context); } }, 1000 / 60) //点击次数 var count = 0; canvas.onclick = function () { if (count++ % 2 == 0) { //停止 clearInterval(id); } else { //运行 id = setInterval(function () { //清除 context.clearRect(0, 0, width, height); //开始移动 for (var i = 0; i < arr.length; i++) { arr[i].move(context); } }, 1000 / 60) } } } </script></head><body> <canvas title="点击停止,再次点击活动"></canvas></body></html>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了WPF实现平面三角形3D运动效果的具体代码,供大家参考,具体内容如下实现效果如下:思路:封装三角形三个顶点和路径的三角形类,图形渲染时同步更
题目描述:输入三角形的三条边长,判断是否能构成一个三角形(不考虑退化三角形,即面积为零的三角形),是什么样的三角形(直角、锐角、钝角、等边、等腰)。函数声明为:
本文主要研究的是输入三角形边长判断其类型并输出面积,用C语言实现,具体如下。思路:首先判断所给的三条边是否能够组成三角形,若可以组成三角形,则判断该三角形是什么
杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。把每一行看做一个list,写一个generator,不断输出下一行的list实现下
我先说如何制作三角形吧,相信大家在平时逛网站的时候都会看到一些导航栏中的三角形吧,比如说:网易首页的头部菜单栏中,也会有这样的三角形当鼠标经过时,三角形会垂直翻