这是一款html5 canvas炫酷旋转银河系星空背景特效。该特效通过canvas来绘制银河系星盘,并制作星系旋转的效果,非常炫酷。

使用方法

HTML结构

该旋转银河系星空背景特效的HTML结果只需要一个元素即可。

JavaScript

然后通过下面的js代码来在canvas上绘制银河系,以及制作动画效果。

"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 = 1400;

// Cache gradient

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, '#fff');

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 cache

function 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;

}

var Star = function() {

this.orbitRadius = random(w / 2 - 50);

this.radius = random(100, this.orbitRadius) / 10;

this.orbitX = w / 2;

this.orbitY = h / 2;

this.timePassed = random(0, maxStars);

this.speed = random(this.orbitRadius) / 100000;

this.alpha = random(2, 10) / 10;

count++;

stars[count] = this;

}

Star.prototype.draw = function() {

var x = Math.sin(this.timePassed + 1) * this.orbitRadius + this.orbitX,

y = Math.cos(this.timePassed) * this.orbitRadius/2 + 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.8;

ctx.fillStyle = 'hsla(' + hue + ', 64%, 6%, 1)';

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();

html 星空效果,html5 canvas炫酷旋转银河系星空背景特效相关推荐

  1. html5刮彩效果,HTML5 Canvas炫酷彩虹色波浪线动画特效代码

    效果图 JS源码 var c = document.querySelector('.c') , w , h , ctx = c.getContext('2d') , x0, y0, x, y, t = ...

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

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

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

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

  4. Canvas炫酷3D线条动画背景

    下载地址 Canvas炫酷3D线条动画背景,可以变色的颜色渐变网页动态背景特效. dd:

  5. HTML5 Canvas炫酷宇宙黑洞引力特效

    black-hole.js是一款效果非常炫酷的模拟宇宙黑洞引力特效的 js插件.该插件基于 HTML5 canvas,使用WebGL. glfx.js和 numeric.js 共同制作完成.其效果是在 ...

  6. html 穿越星空效果,html5 canvas绚丽3d星空飞行穿梭动画特效

    简要教程 这是一款使用 html5 canvas和 jQuery 制作的绚丽3d星空飞行穿梭动画特效.该3d星空飞行特效模拟了飞船在宇宙星空中快速穿梭的动画场景,效果非常逼真. HTML结构 HTML ...

  7. html动画图片重叠,CSS3炫酷堆叠图片展示动画特效

    这是一款效果的CSS3炫酷堆叠图片展示动画特效.该堆叠图片展示效果是将一组图片堆叠在一起,然后以各种CSS动画效果来切换最上面的一张图片.该特效将使用纯CSS3制作,它可以在所有现代浏览器和移动设备上 ...

  8. html5融合效果,7种炫酷HTML5 SVG液态水滴融合动画特效

    这是一组使用HTML5 SVG过滤器制作的炫酷液态水滴融合动画特效.这些SVG动画特效使一些HTML元素,如菜单.分页按钮.APP.选择框等元素的过渡动画像几粒水滴一样融合分解,效果非常的酷. SVG ...

  9. canvas炫酷时钟

    canvas炫酷时钟 实现的功能 主要用到canvas的一些基础api 直接看效果 html: <canvas id="myCanvas" width="500&q ...

最新文章

  1. 那些进入 Alexa 排名前 250 的 WordPress 网站
  2. 重新编译iptables
  3. 【学习笔记】6、标准数据类型—数字类型
  4. 【机器学习基础知识】各类熵总结
  5. 959. 由斜杠划分区域
  6. bzoj 2820: YY的GCD(莫比乌斯反演)
  7. 分布式通信-tcp/ip 单播
  8. Js-字符串转Json并提取字段值
  9. 【C语言】求最大公约数和最小公倍数
  10. 英文词源 —— 法语、西班牙语、古希腊语
  11. 用for循环打印输出数据三角形图形
  12. shiro加盐走源码
  13. iOS 三方app读取苹果健康数据
  14. 残疾人求职阿里巴巴等了八年!好辛苦!
  15. 出海企业怎么选择国际短信平台
  16. 青春岁月杂志青春岁月杂志社青春岁月编辑部2022年第11期目录
  17. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...
  18. 《 大型多人在线游戏开发》笔记
  19. Git版本控制与工作流
  20. 长文干货!走近人脸检测:从?VJ?到深度学习(上)

热门文章

  1. c#执行cmd命令并获取返回结果字符串
  2. 【Proteus仿真8086实验一】RAM存储器62256
  3. matlab简单分析模拟滤波器 IIR
  4. 简述 IntentFilter(意图过滤器)
  5. uva 540 (Team Queue UVA - 540)
  6. 三十五 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点
  7. [转载] python set大小_python set集合
  8. [转载] Python中的memoryview
  9. [转载] issubclass在python中的意思_python issubclass 和 isinstance函数
  10. [转载] python中实现矩阵乘法