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 @@
-
+