diff --git a/src/components/beams.js b/src/components/beams.js
index f391af4..316e561 100644
--- a/src/components/beams.js
+++ b/src/components/beams.js
@@ -7,27 +7,9 @@ AFRAME.registerComponent('beams', {
},
init: function () {
+ this.beams = [];
this.currentRed = 0;
this.currentBlue = 0;
-
- // Material.
- const materialOptions = {
- color: 0xaa3333,
- map: new THREE.TextureLoader().load('assets/img/beam.png'),
- transparent: false,
- blending: THREE.AdditiveBlending
- };
- const redMaterial = new THREE.MeshBasicMaterial(materialOptions);
- materialOptions.color = 0x4444cc;
- const blueMaterial = new THREE.MeshBasicMaterial(materialOptions);
- this.texture = materialOptions.map;
-
- // Beam pools.
- const geometry = new THREE.PlaneBufferGeometry(0.4, 50).translate(0, 25, 0);
- this.beams = [];
- this.redBeams = this.createBeamPool(geometry, redMaterial);
- this.blueBeams = this.createBeamPool(geometry, blueMaterial);
-
this.clearBeams = this.clearBeams.bind(this);
this.el.sceneEl.addEventListener('cleargame', this.clearBeams);
},
@@ -40,6 +22,25 @@ AFRAME.registerComponent('beams', {
}
},
+ play: function () {
+ // Material.
+ const materialOptions = {
+ color: 0xaa3333,
+ map: new THREE.TextureLoader().load('assets/img/beam.png'),
+ transparent: true,
+ blending: THREE.AdditiveBlending
+ };
+ const redMaterial = new THREE.MeshBasicMaterial(materialOptions);
+ materialOptions.color = 0x4444cc;
+ const blueMaterial = new THREE.MeshBasicMaterial(materialOptions);
+ this.texture = materialOptions.map;
+
+ // Beam pools.
+ const geometry = new THREE.PlaneBufferGeometry(0.4, 50).translate(0, 25, 0);
+ this.redBeams = this.createBeamPool(geometry, redMaterial);
+ this.blueBeams = this.createBeamPool(geometry, blueMaterial);
+ },
+
/**
* Use tick for manual ANIME animations, else it will create RAF.
*/
diff --git a/src/templates/stage.html b/src/templates/stage.html
index bafbb6f..42dc280 100644
--- a/src/templates/stage.html
+++ b/src/templates/stage.html
@@ -95,6 +95,8 @@
+
+
-
-