-
-
Notifications
You must be signed in to change notification settings - Fork 16
/
engine.js.map
13 lines (13 loc) · 19.6 KB
/
engine.js.map
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"version": 3,
"file": "engine.js",
"sourceRoot": "",
"sources": [
"engine.coffee"
],
"names": [],
"mappings": "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",
"sourcesContent": [
"class CanvasRenderer\n constructor: (@c) ->\n @ctx = @c.getContext '2d'\n @resize @c\n @minFps = 45\n @particleMax = 150\n @meteorMax = 100\n @meteors = []\n @blocks = []\n @particles = []\n @running = no\n @lastDraw = Date.now()\n @c.addEventListener 'click', @handleClick.bind(@)\n @render()\n\n start: -> @running = yes\n\n stop: -> @running = no\n\n resize: (@c) ->\n @cw = @c.width = @c.scrollWidth\n @ch = @c.height = @c.scrollHeight\n @ctx.lineCap = 'round'\n\n rand: (a,b) -> ~~((Math.random()*(b-a+1))+a)\n\n addBlock: (thickness) ->\n return if @blocks.length >= 5 or not @running\n @blocks.push\n y: -50\n speed: 5\n hue: 190\n alpha: .5\n thickness: Math.round(thickness)\n \n updateBlocks: ->\n i = @blocks.length\n while i--\n block = @blocks[i]\n block.y = Math.round(block.y + block.speed)\n block.alpha = Math.max(0, 1-(4*block.y/@ch-3))/2 if block.y / @ch > 0.75\n @blocks.splice(i, 1) if block.y > @ch\n\n renderBlocks: ->\n i = @blocks.length\n while i--\n block = @blocks[i]\n @ctx.beginPath()\n @ctx.moveTo(20, block.y)\n @ctx.lineTo(@cw-20, block.y)\n @ctx.lineWidth = block.thickness\n @ctx.strokeStyle = 'hsla('+block.hue+', 80%, 50%, '+block.alpha+')'\n @ctx.stroke()\n @ctx.closePath()\n @ctx.restore()\n\n createBlockParticles: ->\n i = @blocks.length\n while i--\n block = @blocks[i]\n @particles.push\n x: Math.round(@rand(20, @cw-20))\n y: block.y - 10\n vx: (@rand(0, 100)-50)/100\n vy: (@rand(-50, 50)-50)/100\n radius: Math.round(@rand(2, 6)/2)\n alpha: @rand(50, 75)/100\n hue: block.hue\n light: 50\n\n handleClick: ({pageX, pageY}) ->\n cx = pageX - @c.getBoundingClientRect().left\n cy = pageY - @c.getBoundingClientRect().top\n for {x, y, thickness, link} in @meteors.reverse()\n t = thickness * 2\n if cx >= x-t and cx <= x+t and cy >= y-t and cy <= y+t\n window.open link\n break\n\n addMeteor: ({speed, hue, thickness, length, link, donation}) ->\n return if not @running\n return if (@meteors.length >= @meteorMax or @currentFps < @minFps) and !donation\n @meteors.push\n x: Math.round(@rand(thickness, @cw-thickness))\n y: -50\n vy: if donation then speed*0.8 else speed\n hue: Math.round(hue)\n thickness: if donation then Math.max(20, thickness*2) else thickness\n length: Math.max(length, 10)\n alpha: 1\n timestamp: new Date().getTime()\n link: link\n donation: donation\n @meteors.sort (a,b) -> a.thickness - b.thickness\n\n updateMeteor: (meteor) ->\n meteor.x = Math.round(@rand(meteor.thickness, @cw-meteor.thickness)) if meteor.x < meteor.thickness\n meteor.y = Math.round(meteor.y + meteor.vy)\n meteor.hue = meteor.hue + 3 % 360 if meteor.donation\n if meteor.y / @ch > 0.75\n meteor.alpha = Math.max(0, 1-(4*meteor.y/@ch-3))\n meteor.thickness -= 0.05 if meteor.thickness > 5\n\n renderMeteor: (meteor) ->\n @ctx.save()\n @ctx.globalAlpha = meteor.alpha\n @ctx.translate(meteor.x, meteor.y)\n @ctx.beginPath()\n @ctx.moveTo(0, 0)\n @ctx.lineTo(0, -meteor.length)\n @ctx.lineWidth = meteor.thickness\n gradient1 = @ctx.createLinearGradient(0, 0, 0, -meteor.length)\n gradient1.addColorStop(0, 'hsla('+meteor.hue+', 60%, 50%, .25)')\n gradient1.addColorStop(1, 'hsla('+meteor.hue+', 60%, 50%, 0)')\n @ctx.strokeStyle = gradient1\n @ctx.stroke()\n @ctx.closePath()\n @ctx.restore()\n\n renderMeteorBorder: (meteor) ->\n @ctx.save()\n @ctx.globalAlpha = meteor.alpha\n @ctx.translate(meteor.x, meteor.y)\n @ctx.beginPath()\n @ctx.moveTo(0, 0)\n @ctx.lineTo(0, -meteor.length)\n @ctx.lineWidth = Math.round(meteor.thickness / 5)\n gradient2 = @ctx.createLinearGradient(0, meteor.thickness, 0, -meteor.length)\n gradient2.addColorStop(0, 'hsla('+meteor.hue+', 100%, 50%, 0)')\n gradient2.addColorStop(.1, 'hsla('+meteor.hue+', 100%, 100%, .75)')\n gradient2.addColorStop(1, 'hsla('+meteor.hue+', 100%, 50%, 0)')\n @ctx.strokeStyle = gradient2\n @ctx.stroke()\n @ctx.closePath()\n @ctx.restore()\n\n renderMeteorFlare: (meteor) ->\n @ctx.save()\n @ctx.globalAlpha = meteor.alpha\n @ctx.translate(meteor.x, meteor.y + meteor.thickness*.5)\n @ctx.beginPath()\n @ctx.arc(0, 0, meteor.thickness, 0, Math.PI *2, false)\n gradient3 = @ctx.createRadialGradient(0, 0, 0, 0, 0, meteor.thickness)\n gradient3.addColorStop(0, 'hsla('+(meteor.hue + 30) % 360+', 100%, 50%, .2)')\n gradient3.addColorStop(1, 'hsla('+(meteor.hue + 30) % 360+', 50%, 50%, 0)')\n @ctx.fillStyle = gradient3\n @ctx.fill()\n @ctx.closePath()\n @ctx.restore()\n\n renderMeteorFlare2: (meteor) ->\n @ctx.save()\n @ctx.globalAlpha = meteor.alpha\n @ctx.translate(meteor.x, meteor.y)\n @ctx.scale(1,1.5)\n @ctx.beginPath()\n @ctx.arc(0, 0, meteor.thickness / 2, 0, Math.PI *2, false)\n gradient4 = @ctx.createRadialGradient(0, 0, 0, 0, 0, meteor.thickness / 2)\n gradient4.addColorStop(0, 'hsla('+(meteor.hue + 60) % 360+', 80%, 70%, .1)')\n gradient4.addColorStop(1, 'hsla('+(meteor.hue + 60) % 360+', 80%, 50%, 0)')\n @ctx.fillStyle = gradient4\n @ctx.fill()\n @ctx.closePath()\n @ctx.restore()\n\n createParticles: (meteor) ->\n if meteor.donation or (@particles.length < @particleMax - @meteors.length and meteor.thickness > 5)\n @particles.push\n x: meteor.x + (@rand(0, meteor.thickness) - meteor.thickness/2)\n y: meteor.y + (@rand(0, meteor.thickness) - meteor.thickness/2)\n vx: (@rand(0, 100)-50)/100\n vy: (@rand(-25, 75)-50)/100\n radius: if meteor.donation then meteor.thickness*0.2 else Math.round(@rand(1, 6)/2)\n alpha: if meteor.donation then 0.5 else @rand(15, 30)/100\n hue: meteor.hue\n light: if meteor.donation then 0 else 50\n\n updateParticles: () ->\n i = @particles.length\n while i--\n p = @particles[i]\n p.vx += (@rand(0, 100)-50)/300\n p.vy += (@rand(-25, 75)-50)/300\n p.x += p.vx\n p.y += p.vy\n p.light += 2\n p.alpha -= .01\n @particles.splice(i, 1) if p.alpha < .02\n\n renderParticles: () ->\n i = @particles.length\n while i--\n p = @particles[i]\n @ctx.beginPath()\n @ctx.fillStyle = 'hsla('+p.hue+', 100%, '+p.light+'%, '+p.alpha+')'\n @ctx.fillRect(Math.round(p.x), Math.round(p.y), p.radius, p.radius)\n @ctx.closePath()\n\n clear: () ->\n @ctx.globalCompositeOperation = 'destination-out'\n @ctx.fillStyle = 'rgba(0, 0, 0, 0.25)'\n @ctx.fillRect(0, 0, @cw, @ch)\n @ctx.globalCompositeOperation = 'lighter'\n\n render: () ->\n requestAnimationFrame @render.bind(@)\n return unless @running\n @currentFps = Math.round(1000/(Date.now() - @lastDraw))\n @lastDraw = Date.now()\n @clear()\n # debug\n #@ctx.font = '48px serif';\n #@ctx.fillStyle = 'rgba(255, 255, 255, 1)'\n #@ctx.fillText(@currentFps, 10, 50);\n # blocks\n @updateBlocks()\n @renderBlocks()\n @createBlockParticles()\n # meteors\n i = @meteors.length\n while i--\n meteor = @meteors[i]\n if new Date().getTime() - meteor.timestamp > 15*1000 or meteor.y - meteor.length > @ch\n @meteors.splice i, 1\n continue\n @updateMeteor(meteor)\n @renderMeteor(meteor)\n @renderMeteorBorder(meteor)\n @renderMeteorFlare(meteor)\n @renderMeteorFlare2(meteor)\n @createParticles(meteor)\n # meteor particles\n @updateParticles()\n @renderParticles()\n\n"
]
}