突然想做一个流星动画效果结果做完好jb丑啊 感觉缺了什么算了反正我也想不起来 页面是用的CANVAS纯JavaScript做的

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style>html,body {height: 100%;width: 100%;margin: 0px;padding: 0px;}</style>
</head><body><canvas id="画板id"></canvas><script>var 参数 = {画板载入: function (can) {var canvas = document.getElementById(can);canvas.width = document.body.offsetWidth;canvas.height = document.body.offsetHeight;canvas.style.backgroundColor = "rgb(255, 255, 255)";return canvas;},二D配置: function (canvas) {var cvs = canvas.getContext('2d');return cvs;},星星配置: function () {var 星图 = 绘图.星星("","","");var image = new Image();image.src = 星图;return image;},背景星图: function (画板返回, 星星, size) {var x = 画板返回.width,y = 画板返回.height,rgba;var eko = 备用画板(x, y);var context = eko[1],canvas = eko[0];context.clearRect(0, 0, canvas.width, canvas.height);for (var i = 0; i < size; i++) {var moadl = Math.random() * 9;context.drawImage(星星, Math.random() * x, Math.random() * y, moadl, moadl);}canvas.parentNode.removeChild(canvas);var image = new Image();image.src = canvas.toDataURL("image/png");return image;},文字:function(){var eko = 备用画板(500, 500);}}var 绘图 = {星星: function (x, y, rgba) {var eko = 备用画板(x, y);var context = eko[1],civ = eko[0];context.clearRect(0, 0, civ.width, civ.height);var grd = context.createRadialGradient(civ.width / 2, civ.height / 2, 1, civ.width / 2, civ.height / 2, civ.width / 2);grd.addColorStop(0, 'rgba(231,223,174,0.5)');grd.addColorStop(1, 'rgba(231,223,174,0)');context.fillStyle = grd;context.fillRect(0, 0, civ.width, civ.height);context.moveTo(cos(0)[0], cos(0)[1]);context.lineTo(sin(0.78539815)[0], sin(0.78539815)[1]);context.lineTo(cos(1.5707963)[0], cos(1.5707963)[1]);context.lineTo(sin(2.35619445)[0], sin(2.35619445)[1]);context.lineTo(cos(3.1415926)[0], cos(3.1415926)[1]);context.lineTo(sin(0.78539815 + Math.PI)[0], sin(0.78539815 + Math.PI)[1]);context.lineTo(cos(1.5707963 + Math.PI)[0], cos(1.5707963 + Math.PI)[1]);context.lineTo(sin(2.35619445 + Math.PI)[0], sin(2.35619445 + Math.PI)[1]);context.lineTo(cos(3.1415926 + Math.PI)[0], cos(3.1415926 + Math.PI)[1]);context.fillStyle = rgba || "rgb(255, 249, 100)";context.fill();context.beginPath();civ.parentNode.removeChild(civ);return civ.toDataURL("image/png");function cos(cos) {return [Math.cos(cos) * (civ.width / 2) + civ.width / 2, Math.sin(cos) * (civ.height / 2) + civ.height / 2]}function sin(sin) {return [Math.cos(sin) * (civ.width / 2 / 3) + civ.width / 2, Math.sin(sin) * (civ.height / 2 / 3) + civ.height / 2]}}}var 备用画板 = function (x, y, rgba) {var civ = document.createElement("canvas");civ.width = x || document.body.offsetWidth / 100;civ.height = y || document.body.offsetWidth / 100;civ.id = "stpc";civ.style = "display:none; z-index:-9999";document.body.appendChild(civ);var canvas = document.getElementById("stpc");var context = canvas.getContext("2d");return [canvas, context];}var 修改 = {修改背景: function (canvas, color) {canvas.style.backgroundColor = color;return true;}}var 载入 = function (载入) {return new 载入();}载入(function () {var 画板返回 = 参数.画板载入("画板id");修改.修改背景(画板返回, "rgb(9, 11, 31)");var cvs = 参数.二D配置(画板返回);var 星星 = 参数.星星配置();var 星图 = 参数.背景星图(画板返回, 星星, 500);var cexiao = 画板返回.width;var cexiaox = 0;var nico = [];var maki = "";(function donghua() {cvs.clearRect(0, 0, 画板返回.width, 画板返回.height);cvs.drawImage(星图, 0, 0);var mrs = Math.random()*10+5;if (nico.length < 10) {var naive = new Naive(Math.random() * 画板返回.width * 2, -Math.random()*画板返回.height, mrs, mrs, Math.random() * 2 + 10,2.8,0,0);nico.push(naive);}for (i = 0; i < nico.length; i++) {maki = nico[i];var tty = maki.shan();if (tty[0]<-画板返回.width&&tty[1]>画板返回.height*2) {nico.splice(i,1);}}requestAnimationFrame(donghua);})();function Naive(x, y, w, h, s,d,pi,hw,z) {this.x = x;this.y = y;this.w = w;this.h = h;this.s = s;this.pi = pi;this.d = d;this.z = z;this.shan = function () {this.dx = this.pi*Math.cos(this.d)+this.x;this.dy = this.pi*Math.sin(this.d)+this.y;cvs.beginPath();cvs.moveTo(this.dx,this.dy);cvs.lineTo(this.x,this.y);cvs.lineWidth = 1;this.lGrd = cvs.createLinearGradient(this.dx,this.dy,this.x,this.y);  this.lGrd.addColorStop(0, '#4CAF50');  this.lGrd.addColorStop(1, 'rgba(0,0,0,0)');  cvs.strokeStyle = this.lGrd;  cvs.stroke();cvs.beginPath();cvs.drawImage(星星, this.dx-this.w/2, this.dy-this.h/2, this.w, this.h);this.pi +=50;this.z += 0.1;return [this.dx,this.dy];}}window.onresize = function () {画板返回.width = window.innerWidth;画板返回.height = window.innerHeight;星图 = 参数.背景星图(画板返回, 星星, 500);}});</script>
</body></html>

直接放下代码吧

https://pan.baidu.com/s/1bp4KevX

业余做的因为懒所以就不做成插件了

HTML canvas 制作星星背景加流星特效相关推荐

  1. 三个canvas炫酷背景动画js特效

    下载地址 使用三个canvas实现的炫酷网页背景,很酷的网页动画特效. dd:

  2. Canvas制作动态进度加载水球

    前言 之前看到一些球型的动态加载的效果,一直想自己动手做一个,正好这段时间重温了一个Canvas,所以就尝试了一下. 样式预览 height="342" width="1 ...

  3. android 动态水球,Canvas 制作动态进度加载水球详解及实例代码

    Canvas 动态进度加载水球 前言 之前看到一些球型的动态加载的效果,一直想自己动手做一个,正好这段时间重温了一个Canvas,所以就尝试了一下. 实现思路 关于水波的实现,使用了sin()函数,通 ...

  4. 使用canvas制作背景水印

    记录使用canvas 制作文字背景水印 // 首先创建canvas标签 并设置画布大小var watchCanvas = document.createElement('canvas'); // 创建 ...

  5. html5星星效果图,H5 canvas流星雨星星特效

    /p> 一起来看流星雨 var context; var arr = new Array(); var starCount = 800; var rains = new Array(); var ...

  6. 用离屏canvas制作仿Prezi页面转场动画特效

    用离屏canvas制作网站页面特效.仿Prezi转场特效 首屏效果 页面切换转场效果 · 首屏圆形循环扩散效果 首屏效果的难点在于圆形循环扩散动画和贝塞尔曲线的绘制.圆形逐渐扩大的动画并不难,关键在于 ...

  7. 如何用html制作一个动态烟花,视频加烟花特效 视频如何制作烟花效果|视频上添加动态的焰火效果...

    有句mmp不知当讲不当讲,今天竟然是孔子的诞辰,这样一算孔子很有可能是处女座呢!!当看到这条消息时我的内心是拒绝的,在我看来孔子的中庸思想表示的"平庸.折中.调和"明明是我们天秤座 ...

  8. 使用html5制作烟花的视频,视频加烟花特效 视频如何制作烟花效果|视频上添加动态的焰火效果...

    有句mmp不知当讲不当讲,今天竟然是孔子的诞辰,这样一算孔子很有可能是处女座呢!!当看到这条消息时我的内心是拒绝的,在我看来孔子的中庸思想表示的"平庸.折中.调和"明明是我们天秤座 ...

  9. 通过Canvas画布制作黑客帝国背景

    通过Canvas画布制作黑客帝国背景 电影介绍 先推荐一下这部电影 <黑客帝国>是由华纳兄弟公司发行的系列动作片,该片由沃卓斯基兄弟执导,基努·里维斯.凯莉·安妮·莫斯.劳伦斯·菲什伯恩等 ...

最新文章

  1. TextureView+MediaPlayer实现在线短视频播放
  2. 二叉树的层序遍历—leetcode102
  3. ABCDE类IP地址的解释
  4. Initramfs应用问题记录
  5. pythoncontinue函数_Python continue语句
  6. Android Alertdialog之多选对话框
  7. linux apache支持ipv6,如何在Nginx和Apache中启用IPv6?
  8. javaScript引入方式
  9. 20210924 python 技术点
  10. Selenium分布式运行:SeleniumGrid
  11. OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
  12. JQ彩色3D纸片折叠动画
  13. ubuntu状态栏消失
  14. 详解Object.create(null)(转载自https://juejin.cn/post/6844903589815517192)
  15. 吃烧烤之命令模式学习笔记[C++版] 1
  16. WMS系统功能分析-出库、库管
  17. OLED屏幕对比LCD为什么更加省电?
  18. android车机启动器,【分享】车载启动器 AG 车载桌面启动器1.5.1车机桌面
  19. sniffer(Wireshark)抓包
  20. (有趣)好玩的html代码

热门文章

  1. Android基础控件(一)
  2. 性能测试辅助工具 - Wireshark简介
  3. 九宫八阵图之天覆阵——防火墙
  4. 手把手教你从零开始部署AI应用,医疗、金融、教育、零售等行业都用得上!...
  5. U-Boot启动流程(Linux内核)的分析
  6. 如何用python画玫瑰花_如何用python画玫瑰花
  7. RISC-V 指令学习笔记(基于CH32V103)
  8. 微信小程序云开发——实现 线上注册,登录的逻辑,并保存账号到云数据库( 一 ):新建云服务小程序项目
  9. 记一次unas docker服务无法启动
  10. Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构