diff --git a/website/source/javascripts/app/Engine.Particle.js b/website/source/javascripts/app/Engine.Particle.js index 549f8b4ec3..5b5c0d9e05 100644 --- a/website/source/javascripts/app/Engine.Particle.js +++ b/website/source/javascripts/app/Engine.Particle.js @@ -162,7 +162,7 @@ Engine.Particle.prototype = { }, kill: function(engine){ - engine._deferred.push(this); + engine._deferredParticles.push(this); return this; }, diff --git a/website/source/javascripts/app/Engine.Shape.js b/website/source/javascripts/app/Engine.Shape.js index 08746a1db6..f371dddffa 100644 --- a/website/source/javascripts/app/Engine.Shape.js +++ b/website/source/javascripts/app/Engine.Shape.js @@ -40,6 +40,11 @@ Engine.Shape = function(x, y, width, height, points, polygons){ Engine.Shape.prototype = { + selfDestruct: function(time){ + this.destruct = time; + return this; + }, + update: function(engine){ var p; @@ -52,6 +57,8 @@ Engine.Shape.prototype = { this.polygons[p].update(engine); // this.polygons[p].draw(this.context, scale); } + + return this; }, draw: function(ctx, scale){ @@ -63,6 +70,7 @@ Engine.Shape.prototype = { this.polygons[p].draw(ctx, scale); } ctx.restore(); + return this; } }; diff --git a/website/source/javascripts/app/Engine.js b/website/source/javascripts/app/Engine.js index 16baeecf15..4f7225e2ea 100644 --- a/website/source/javascripts/app/Engine.js +++ b/website/source/javascripts/app/Engine.js @@ -1,6 +1,6 @@ /* jshint unused: false */ /* global console */ -(function(Base, Vector, Circle){ +(function(Base, Vector, Logo){ var sqrt, pow, Engine; @@ -23,15 +23,11 @@ Engine = Base.extend({ scale: window.devicePixelRatio || 1, // scale:1, + shapes : [], particles : [], - _deferred : [], - // points : [], - // polygons : [], - shapes: [], - - speed: 1, - accel: 0.08, + _deferredParticles: [], + _deferredShapes: [], constructor: function(canvas, bg){ var image, el; @@ -96,8 +92,8 @@ Engine = Base.extend({ (this.height / 2 - 180), 360, 360, - Circle.Points, - Circle.Polygons + Logo.Points, + Logo.Polygons ); }, @@ -123,7 +119,6 @@ Engine = Base.extend({ this.now = Date.now() / 1000; tick = Math.min(this.now - this.last, 0.017); - this.tick = this.speed * tick; this.renderStarfield(this.now); this.tick = tick; @@ -139,7 +134,7 @@ Engine = Base.extend({ renderTessellation: function(){ var scale = this.scale, - p; + p, index; for (p = 0; p < this.shapes.length; p++) { this.shapes[p].update(this); @@ -148,6 +143,14 @@ Engine = Base.extend({ this.logo.update(this); this.logo.draw(this.context, scale); + + // Remove destroyed shapes + for (p = 0; p < this._deferredShapes.length; p++) { + index = this.shapes.indexOf(this._deferredShapes.pop()); + if (index >= 0) { + this.shapes.splice(index, 1); + } + } }, generateParticles: function(num, fixed){ @@ -180,9 +183,9 @@ Engine = Base.extend({ .draw(this.context, scale); } - // Remove destroyed entities - for (p = 0; p < this._deferred.length; p++) { - index = this.particles.indexOf(this._deferred.pop()); + // Remove destroyed particles + for (p = 0; p < this._deferredParticles.length; p++) { + index = this.particles.indexOf(this._deferredParticles.pop()); if (index >= 0) { this.particles.splice(index, 1); } @@ -215,4 +218,4 @@ Engine.clone = function(ref) { window.Engine = Engine; -})(window.Base, window.Vector, window.Circle); +})(window.Base, window.Vector, window.Logo); diff --git a/website/source/javascripts/app/Circle.js b/website/source/javascripts/app/Logo.js similarity index 99% rename from website/source/javascripts/app/Circle.js rename to website/source/javascripts/app/Logo.js index da53dbb239..f24b194970 100644 --- a/website/source/javascripts/app/Circle.js +++ b/website/source/javascripts/app/Logo.js @@ -1,5 +1,5 @@ // jshint unused:false -var Circle = { +var Logo = { "Points": [ { "id": "point-0", diff --git a/website/source/layouts/_footer.erb b/website/source/layouts/_footer.erb index 98dbf94c87..ed7076149c 100644 --- a/website/source/layouts/_footer.erb +++ b/website/source/layouts/_footer.erb @@ -25,7 +25,7 @@ - +