Slide 142
Slide 142 text
var absoluteMaxSpeed=.01,Star=function(a,b,c){this.x=a,this.y=b,this.slope=b/a,this.opacity=0,this.speed=Math.max
(Math.random()*c,absoluteMaxSpeed)};Star.prototype.distanceTo=function(a,b){return Math.sqrt(Math.pow(a-this.x,2)
+Math.pow(b-this.y,2))},Star.prototype.resetPosition=function(a,b,c){return Star.apply(this,arguments),this};var
BigBang={getRandomStar:function(a,b,c,d,e){var f=BigBang.getRandomPosition(a,b,c,d);return new Star(f.x,f.y,e)},g
etRandomPosition:function(a,b,c,d){360*Math.random()*Math.PI/180;return{x:Math.floor(Math.random()*c+a),y:Math.fl
oor(Math.random()*d+b)}}},StarField=function(a){return this.container=document.getElementById(a),this.canvasElem=
this.container.getElementsByTagName("canvas")[0],this.canvas=this.canvasElem.getContext("2d"),this.width=this.con
tainer.offsetWidth,this.height=this.container.offsetHeight,this.starField=[],this};StarField.prototype._updateSta
rField=function(){var a,b,c,d;for(a=0;a0?d:-d,b.y=b.slope*b.x,b.opacity+=b.speed/100,(Math.abs(b.x)>this.width/2||Math.abs(b.y)>this
.height/2)&&(c=BigBang.getRandomPosition(-this.width/10,-this.height/10,this.width/5,this.height/5))},StarField.p
rototype._renderStarField=function(){var a,b;this.canvas.fillStyle="rgba(0, 0, 0, .5)",this.canvas.fillRect(0,0,t
his.width,this.height);this.numStars/10|0;for(this.canvas.beginPath(),a=0;a=30||!this.prevFrameTime)&&(this.prevFrameTime=a,this._updateStarFi
eld(),this._renderStarField())},StarField.prototype._adjustCanvasSize=function(a,b){this.width=this.canvasElem.wi
dth=a||this.container.offsetWidth,this.height=this.canvasElem.height=b||this.container.offsetHeight},StarField.pr
ototype._watchCanvasSize=function(a){var c,d,b=a-(this.prevCheckTime||0);(b>=333||!this.prevCheckTime)&&(this.pre
vCheckTime=a,c=this.container.offsetWidth,d=this.container.offsetHeight,(this.oldWidth!==c||this.oldHeight!==d)&&
(this.oldWidth=c,this.oldHeight=d,this._adjustCanvasSize(c,d)))},StarField.prototype._initScene=function(a){var b
;for(b=0;b.05){for(;d>c;c++)stars.starField[c].speed=Math.max(Math.
random()*b,absoluteMaxSpeed);window.raf(a)}};a()},750); // http://2015.ffconf.org/js/starfield.js