星空宇宙背景特效

  • 一. 效果图
  • 二. 实现代码

一. 效果图

二. 实现代码

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>星空宇宙背景特效</title><style>* {margin: 0;padding: 0;width: 100%;height: 100%;}.canvasContainer {width: 100%;height: 100%;overflow: hidden;}</style>
</head><body><div class="canvasContainer"><canvas id="canvas"></canvas></div><script>//宇宙特效"use strict";var canvas = document.getElementById('canvas'),ctx = canvas.getContext('2d'),w = canvas.width = window.innerWidth,h = canvas.height = window.innerHeight,hue = 217,stars = [],count = 0,maxStars = 2500;//星星数量var canvas2 = document.createElement('canvas'),ctx2 = canvas2.getContext('2d');canvas2.width = 100;canvas2.height = 100;var half = canvas2.width / 2,gradient2 = ctx2.createRadialGradient(half, half, 0, half, half, half);gradient2.addColorStop(0.025, '#CCC');gradient2.addColorStop(0.1, 'hsl(' + hue + ', 61%, 33%)');gradient2.addColorStop(0.25, 'hsl(' + hue + ', 64%, 6%)');gradient2.addColorStop(1, 'transparent');ctx2.fillStyle = gradient2;ctx2.beginPath();ctx2.arc(half, half, half, 0, Math.PI * 2);ctx2.fill();// End cachefunction random(min, max) {if (arguments.length < 2) {max = min;min = 0;}if (min > max) {var hold = max;max = min;min = hold;}return Math.floor(Math.random() * (max - min + 1)) + min;}function maxOrbit(x, y) {var max = Math.max(x, y),diameter = Math.round(Math.sqrt(max * max + max * max));return diameter / 2;//星星移动范围,值越大范围越小,}var Star = function () {this.orbitRadius = random(maxOrbit(w, h));this.radius = random(60, this.orbitRadius) / 18;//星星大小this.orbitX = w / 2;this.orbitY = h / 2;this.timePassed = random(0, maxStars);this.speed = random(this.orbitRadius) / 500000;//星星移动速度this.alpha = random(2, 10) / 10;count++;stars[count] = this;}Star.prototype.draw = function () {var x = Math.sin(this.timePassed) * this.orbitRadius + this.orbitX,y = Math.cos(this.timePassed) * this.orbitRadius + this.orbitY,twinkle = random(10);if (twinkle === 1 && this.alpha > 0) {this.alpha -= 0.05;} else if (twinkle === 2 && this.alpha < 1) {this.alpha += 0.05;}ctx.globalAlpha = this.alpha;ctx.drawImage(canvas2, x - this.radius / 2, y - this.radius / 2, this.radius, this.radius);this.timePassed += this.speed;}for (var i = 0; i < maxStars; i++) {new Star();}function animation() {ctx.globalCompositeOperation = 'source-over';ctx.globalAlpha = 0.5; //尾巴ctx.fillStyle = 'hsla(' + hue + ', 64%, 6%, 2)';ctx.fillRect(0, 0, w, h)ctx.globalCompositeOperation = 'lighter';for (var i = 1, l = stars.length; i < l; i++) {stars[i].draw();};window.requestAnimationFrame(animation);}animation();</script></body></html>

special effects - 星空宇宙背景特效相关推荐

  1. special effects - 蜘蛛网背景特效

    蜘蛛网背景特效 一. 效果图 二. 实现代码 一. 效果图 二. 实现代码 <!DOCTYPE html> <html><head><meta http-eq ...

  2. html 星空效果,html5 canvas炫酷旋转银河系星空背景特效

    这是一款html5 canvas炫酷旋转银河系星空背景特效.该特效通过canvas来绘制银河系星盘,并制作星系旋转的效果,非常炫酷. 使用方法 HTML结构 该旋转银河系星空背景特效的HTML结果只需 ...

  3. html5星空效果图,HTML5 canvas炫酷星空背景特效

    jquery-warpdrive-plugin是一款可以制作基于HTML5 canvas的炫酷星空背景特效的jquery插件.这个星空背景特效可通过配置参数进行灵活的配置,可用鼠标进行互动. 使用方法 ...

  4. 【Unity Shader】Special Effects(一)UI特效的动画播放器

    更新日期:2021年8月16日. Github源码:[点我获取源码] 索引 [系列简介] [SpecialEffects 模块简介] [UI特效的动画播放器] 下载SpecialEffects模块 使 ...

  5. html5 星空扩散效果,HTML5 canvas实现炫酷旋转银河系星空背景特效解析

    简要教程 这是一款html5 canvas炫酷旋转银河系星空背景特效.该特效通过canvas来绘制银河系星盘,并制作星系旋转的效果,非常炫酷. 使用方法 HTML结构 该旋转银河系星空背景特效的HTM ...

  6. php+js+背景特效,基于canvas+html5炫酷星空背景动画特效

    [温馨提示]源码包解压密码:www.youhutong.com 效果图: 描述说明: Warp drive是一个轻量级的jQuery插件.可以帮助您创建一个很酷的交互式星空背景特效,这个星空背景特效可 ...

  7. canvas星空连线背景特效

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>can ...

  8. canvas鼠标移动动态星空背景特效

    在网上发现了一个挺好玩的canvas背景特效,先放上效果图. 这个可以作为背景,里面是直线匀速运动的散点,当两个点直接小于一定距离时会通过canvas生成一条线相连接. 而且当鼠标移入时,鼠标指针一定 ...

  9. android 加载动画效果_这效果炸了,网易云音乐“宇宙尘埃”特效

    本文作者 作者:Mlx 链接: https://juejin.im/post/6871049441546567688 本文由作者授权发布. 1前言 前段时间,女朋友用网易云音乐的时候看到一个宇宙尘埃特 ...

最新文章

  1. 应用心理学跨考计算机难不难,跨专业心理学考研难不难 主要学什么
  2. php的异常详解,php5异常处理详解_php
  3. ORA-00054 资源正忙,但指定以NOWAIT 方式获取资源,或者超时失效
  4. linux grep命令 例子,14个grep命令使用例子
  5. python文件例题_文件操作练习题
  6. 459.重复子字符串
  7. on_mouse OpenCV 获得矩形区域
  8. 视觉SLAM十四讲_2_三维空间刚体运动
  9. 处理模型——找到对应一个方向的旋转角
  10. Python程序猿必备的几款软件
  11. 苹果11显示服务器,苹果11肿么显示网络速度
  12. python读excel表格数据绘制图表_Python读取Excel数据并生成图表过程解析
  13. 配置管理工具SVN的使用
  14. c语言stl大全,C++ STL库应用汇总
  15. 【最短路】白银莲花池
  16. 详细解析机组中的存储单元 存储字 存储字长
  17. 重温设计模式二 设计原则之依赖倒置原则
  18. 北斗/GPS定位模块冷启动、热启动、温启动有什么区别?
  19. 诚意干货:如何神不知鬼不觉破解你家路由器 | 硬创公开课
  20. 最有前景的RPO数字化趋势来到了,工作系统是怎么逆袭的?

热门文章

  1. 如何挑选文档管理软件?
  2. java map 内存分配_mapreduce 内存分配
  3. 知识图谱学习(一)(笔记整理)
  4. IDEA使用docker打包镜像
  5. 关于并发量的简单计算公式
  6. Linux安全原理简介
  7. [赛后总结]G2022 Regular Contest 02总结
  8. Excel·VBA按行拆分工作表
  9. 【解决方案】【亲测有效】Windows10离线安装.net3.5
  10. 如何在线翻译PDF文件