js实现canvas大火燃烧火焰动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现canvas大火燃烧火焰动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<html> <head> <style> body { background: #000; height: 100vh; overflow: hidden; } canvas { -webkit-animation: fade-in 2000ms 1000ms forwards; animation: fade-in 2000ms 1000ms forwards; background: #000; background: radial-gradient(circle at 50% 75%, #311, #000); border-radius: 50%; bottom: 0; box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.05); left: 0; margin: auto; opacity: 0; position: absolute; right: 0; top: 0; } @-webkit-keyframes fade-in { to { opacity: 1; } } @keyframes fade-in { to { opacity: 1; } } .static { -webkit-animation: fade-in2 2000ms 1000ms forwards; animation: fade-in2 2000ms 1000ms forwards; border-radius: 50%; bottom: 0; height: 400px; margin: auto; left: 0; opacity: 0; position: absolute; right: 0; top: 0; width: 400px; } @-webkit-keyframes fade-in2 { to { opacity: 0.06; } } @keyframes fade-in2 { to { opacity: 0.06; } } </style> </head> <bod> <canvas width="400" height="400"></canvas> <div class="static"></div> <script> console.clear(); let $ = {}; /* |=|ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ/ [::{}{}{}{}|=| UTILITY |=|________________________________/ */ $.PI = Math.PI; $.TAU = $.PI * 2; $.rand = (min, max) => { return Math.random() * (max - min) + min; }; $.hsla = (h, s, l, a) => { return `hsla(${h}, ${s}%, ${l}%, ${a})`; }; $.baseRange = (base, range) => { return base + $.rand(-range, range); }; /* |=|ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ/ [::{}{}{}{}|=| POOL |=|________________________________/ */ $.Pool = class { constructor(base, preallocateAmount) { this.base = base; this.preallocateAmount = preallocateAmount || 0; this.alive = []; this.dead = []; this.length = 0; this.deadLength = 0; if (this.preallocateAmount) { this.preallocate(); } } preallocate() { for (var i = 0; i < this.preallocateAmount; i++) { this.dead.push(new this.base()); this.deadLength++; } } create(opt) { if (this.deadLength) { var obj = this.dead.pop(); obj.init(opt); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0