Flamethrower
How do I make an flamethrower?
What is a flamethrower? How do you make a flamethrower? This script and codes were developed by Findoff on 03 October 2022, Monday.
Flamethrower - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>flamethrower</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
</head>
<body> <script src='https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.5.1/dat.gui.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Flamethrower - Script Codes JS Codes
document.addEventListener('DOMContentLoaded', function(){ /* i love DOM */ var canvas = document.createElement('canvas'); document.body.appendChild(canvas); document.body.style.padding = '0px'; document.body.style.margin = '0px'; document.body.style.overflow = 'hidden'; /* i love full screen */ var w = canvas.width = window.innerWidth; var h = canvas.height = window.innerHeight; var ctx = canvas.getContext('2d'); /* i love bad short opts ^__^ like q or qwe */ var opts = { }; var gui = new dat.GUI(); function opt(name, value, min, max){ opts[name] = value; return gui.add(opts, name, min, max); } /* if code.before > ugly -> just.dont.read(below) // below worse... ==== let's begin. ==== */ opt('angle', 30, 5, 90); opt('vel', 2, 0.5, 5); opt('minLive', 100, 10, 300).step(1); opt('shotsPerFrame', 4, 1, 10).step(1); opt('redness', 200, 0, 255).step(1); opt('particleCount', 0).listen(); opt('fps', 0).listen(); function render0(t){ ctx.beginPath(); var g = ctx.createRadialGradient( t.pos[0],t.pos[1], 0, t.pos[0],t.pos[1],t.r ); ctx.globalAlpha = Math.min(1, t.t/50); ctx.fillStyle = g; g.addColorStop(0, 'rgba(255,'+(opts.redness*t.cf).toFixed(0)+',0,0.8)'); g.addColorStop(0.75, 'rgba(255,'+(opts.redness-t.cf).toFixed(0)+',0,0.2)'); g.addColorStop(1, 'rgba(255,'+(opts.redness-t.cf).toFixed(0)+',0,0)'); ctx.arc(t.pos[0],t.pos[1], t.r, 0,Math.PI*2, 0); ctx.fill(); ctx.globalAlpha = 1; } function shot(x, y, a){ var v = opts.vel; for(var i=0; i<opts.shotsPerFrame; ++i){ var va = Math.sin( Math.PI*(Math.pow(Math.random(),2)*Math.sign(Math.random()-0.5)) ); var t = { pos: [x,y], a: a + va * (Math.PI/180*opts.angle) / 2, r: 5, t: opts.minLive*(Math.random()+5)/6, cf: Math.random(), }; t.v = (1-Math.abs(va)*0.4+0.6)*v; flames.push(t); } } var flames = [], frame = 0, mouse = [w/2+1, h/2], shooting = true; var time = 0; function loop(){ var t = (new Date()).getTime(); opts.fps = (opts.fps*9 + 1000/(t-time))/10; time = t; ++frame; ctx.fillStyle = '#000'; ctx.fillRect(0,0, w,h); var pos = [w/2, h/2]; if(shooting) shot(pos[0], pos[1], Math.atan2(mouse[1]-pos[1], mouse[0]-pos[0])); while(flames.length>1500) flames.shift(); opts.particleCount = flames.length; for(var i=0; i<flames.length; ++i){ var t = flames[i]; --t.t; t.r *= 1.02; if(t.t <= 0){ flames.splice(i--, 1); continue; } t.pos[0] += Math.cos(t.a) * t.v; t.pos[1] += Math.sin(t.a) * t.v; render0(t); } requestAnimationFrame(loop); }; canvas.addEventListener('mousedown', function(e){ shooting = true; }, false); canvas.addEventListener('mouseup', function(e){ shooting = false; }, false); canvas.addEventListener('mousemove', function(e){ mouse[0] = e.layerX; mouse[1] = e.layerY; }, false); loop();
}, false);
Developer | Findoff |
Username | findoff |
Uploaded | October 03, 2022 |
Rating | 4 |
Size | 2,654 Kb |
Views | 30,360 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Insect builder v0 | 3,425 Kb |
Linear-feedback shift register | 3,009 Kb |
A Pen by findoff | 2,637 Kb |
Elementary cellular automaton | 2,685 Kb |
Ant | 2,365 Kb |
Something with rockets | 3,513 Kb |
Stick waves 2 | 2,827 Kb |
Screeps body calculator | 6,315 Kb |
Lightning | 2,284 Kb |
Curved fractal | 2,430 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Sass random color animation | Jotavejv | 4,827 Kb |
Scroll using CSS | Casperovic | 2,159 Kb |
CSS3 Media Queries demo | Machal | 1,824 Kb |
Delete Hover | Chungman93 | 2,557 Kb |
CSS Donut Charts | Seanstopnik | 2,908 Kb |
CSS Gem Badge | Orchard | 3,335 Kb |
Pure CSS Tooltips | Mobius1 | 2,271 Kb |
Canvas Background Effect | Sonick | 3,513 Kb |
Wikipedia Viewer | Odylic | 2,333 Kb |
Minimal Material Design Form Input | Koenigsegg1 | 3,076 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!