canvas炫彩小球样式背景
效果展示

代码如下

1.css

* {margin: 0;padding: 0;
}.backCanvas canvas {display: block;margin: 5px auto;
}.backCanvas {position: absolute;left: 5px;top: 5px;}

2.js

function init(obj){obj.size = parseInt(obj.size)obj.distance = parseInt(obj.distance)obj.space = parseInt(obj.space)obj.number = parseInt(obj.number)if(obj.size === undefined || obj.size === '' ){obj.size = 5} if (obj.distance === undefined || obj.distance === '') {obj.distance = 150}if (obj.space === undefined || obj.space === '') {obj.size = 10}if (obj.number === undefined || obj.number === '') {obj.size = 30}var canvas = document.getElementById('myCanvas')var ctx = canvas.getContext('2d')canvas.width = document.documentElement.clientWidth - 30canvas.height = document.documentElement.clientHeight - 30var ballArr = []var colorRandom = []//自定义颜色组件function getRandomColor() {var allType = '0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f'var allTypeArr = allType.split(',')var color = '#'for (let i = 0; i < 6; i++) {var index = parseInt(Math.random() * allTypeArr.length)color += allTypeArr[index]}colorRandom.push(color)}for (var i = 0; i < 100; i++) {getRandomColor()window.sessionStorage.setItem('colorRandom', colorRandom)}var getColorList = window.sessionStorage.getItem('colorRandom')getColorList = getColorList.split(',')//定义小球对象function ball() {this.x = parseInt(Math.random() * canvas.width)this.y = parseInt(Math.random() * canvas.height)this.r = obj.sizevar getColorindex = parseInt(Math.random() * 100)console.log(getColorindex);this.color = getColorList[getColorindex]this.dx = parseInt(Math.random() * 10) - 5this.dy = parseInt(Math.random() * 10) - 5ballArr.push(this)this.index = ballArr.length - 1}for (var i = 0; i < obj.number ; i++) {new ball()}ball.prototype.render = function () {ctx.beginPath()ctx.globalAlpha = 1;ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2, false)ctx.fillStyle = this.colorctx.fill()for (var i = this.index; i < ballArr.length; i++) {if (Math.abs(ballArr[i].x - this.x) < obj.distance && Math.abs(ballArr[i].y - this.y) < obj.distance) {var getColorindex = parseInt(Math.random() * 100)ctx.strokeStyle = getColorList[getColorindex]ctx.globalAlpha = 10 / Math.sqrt(Math.pow(ballArr[i].x - this.x, 2) + Math.pow(ballArr[i].y - this.y, 2));ctx.beginPath()ctx.moveTo(this.x, this.y)ctx.lineTo(ballArr[i].x, ballArr[i].y)ctx.closePath()ctx.stroke()}}}ball.prototype.update = function () {this.x += this.dxthis.y += this.dyif (this.x < this.r || this.x > canvas.width - this.r) {this.dx = -this.dx}if (this.y < this.r || this.y > canvas.height - this.r) {this.dy = -this.dy}}setInterval(function () {ctx.clearRect(0, 0, canvas.width, canvas.height);for (var i = 0; i < ballArr.length; i++) {ballArr[i].update()ballArr[i].render()}}, obj.space)}

1.html


<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link href="./ball.css" rel="stylesheet"></head><body style="background-color: #000;"><div class="backCanvas"><canvas id="myCanvas"></canvas></div>
</body>
<script src="./ball02.js"></script>
<script>var list = {number: 150, //小球的个数size: 2, // 小球的大小distance: 100, //小球之间的多少距离 可以练成线space: 25 //小球的运动速度}init(list)
</script></html>

彩色点缀,canvas炫彩小球样式背景相关推荐

  1. 超多经典 canvas 实例,动态离子背景、移动炫彩小球、贪吃蛇、坦克大战、是男人就下100层、心形文字等等等...

    超多经典 canvas 实例 普及:<canvas> 元素用于在网页上绘制图形.这是一个图形容器,您可以控制其每一像素,必须使用脚本来绘制图形. 注意:IE 8 以及更早的版本不支持 &l ...

  2. Canvas跟随鼠标炫彩小球

    跟随鼠标炫彩小球 canvas没有让我失望,真的很有意思 实现效果 超级炫酷 实现原理 创建小球 给小球添加随机颜色,随机半径 鼠标移动通过实例化,新增小球 通过调用给原型新增的方法,来实现小球的动画 ...

  3. canvas炫酷3d网页背景动画js特效

    下载地址canvas画布实现的炫酷3d网页背景动画特效 dd:

  4. canvas制作点击/鼠标移动炫彩小球效果

    <script>const canvas = document.getElementById('myCanvas')canvas.setAttribute('width', documen ...

  5. html炫彩背景,炫彩背景生成器(Background Generator)

    Background Generator(炫彩风格背景生成器),bggenerator推出了桌面版,可以直接在Windows上安装运行使用了,方便不喜欢直接使用浏览器用网页版的朋友,界面提供了中文界面 ...

  6. canvas教程7-炫彩小球

    文章目录 一.炫彩小球 二.效果图 篇章 一.炫彩小球 <!DOCTYPE html> <html lang="en"> <head><m ...

  7. 炫彩界面库UI设计器分享, 集成开发环境,C++,易语言

    炫彩在线帮助文档 炫彩UI截图 炫彩IDE UI设计器  截图 炫彩webUI  炫彩缓动 炫彩 易语言 火山PC例子截图 简介 炫彩界面库–软件界面开发框架,让用户快速开发桌面软件变的简单高效;功能 ...

  8. @description iPhoneX炫彩渐变背景实现

    /*** @author zhangxinxu(.com)* @description iPhoneX炫彩渐变背景实现* @link http://www.zhangxinxu.com/wordpre ...

  9. 平面设计背景素材|打造超酷的炫彩光束光效海报!

    光效素材背景的作用就是瞬间让我们的设计变的高档.大气.上档次. 适用于高清背景特效.特效合成.平面海报等设计. 更多素材到素材路上 www.sucai63.com 必将带来惊喜效果! 星光点缀数码线条 ...

最新文章

  1. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)
  2. python pandas for循环_高逼格使用Pandas加速代码,向for循环说拜拜!
  3. 2014 Super Training #7 F Power of Fibonacci --数学+逆元+快速幂
  4. 【中文情感分析】SO-PMI算法(HarvestText库的修正以及解析)
  5. [iOS常见问题] 关于使用QQ做第三方登录的问题!
  6. 星露谷物语json_星露谷物语 NPC地图显示MOD 怎么让地图显示NPC
  7. android蓝牙设计与实现,一个Android客户端的蓝牙支付系统设计与实现
  8. linux 下的动态库制作 以及在python 中如何调用 c 函数库
  9. Bailian4117 简单的整数划分问题【整数划分+记忆化递归】
  10. 关于前端处理表情符号问题(解决方案)
  11. 异速联未获取服务器信息,异速联客户端连接服务器的方法
  12. 微信抽奖小程序怎么做怎么弄?微信抽奖小程序制作方法详细介绍
  13. 运筹帷幄——我国古代的高超算术
  14. 解决虚拟机中XYplorer中文件列表不能刷新的问题_我是亲民_新浪博客
  15. Tomcat服务器日志输出格式设置
  16. 德国奇葩经历之护照丢失
  17. c++类与对象(一)
  18. python scripting for arcgis_Python Scripting for ArcGIS Pro
  19. 使用SQL和Pandas计算累计百分比
  20. 阿里云网站备案与域名解析操作流程

热门文章

  1. Java基础+流程控制+方法+数组【笔记含代码】
  2. 发那科机器人零点找回_【发那科】FANUC机器人零点复归详解
  3. Canvas-2d fillText
  4. Python choices()函数详解、random模块下的常用函数
  5. 遇见未来 | 对话Lester:超融合如何兼顾企业的“敏态”和“稳态”的业务需求...
  6. 两个给力的jQuery插件
  7. java staxon 运用、属性介绍、遇到的坑
  8. Python按销量爬取淘宝医用口罩前三页导入Excel并生成柱状图
  9. 哈工大计算机科学博士,计算机科学与技术学院博士生培养方案-哈尔滨工业大学计算机学院.DOC...
  10. gRPC 入门使用教程