Add saber draw sound and animation

This commit is contained in:
Diego Marcos
2018-09-19 14:03:31 -07:00
parent 78006377ff
commit 8ba32038e6
3 changed files with 11 additions and 1 deletions

BIN
assets/sounds/saberDraw.wav Normal file

Binary file not shown.

View File

@@ -22,6 +22,7 @@ AFRAME.registerComponent('saber-controls', {
var el = this.el;
var saberHandleEl = document.createElement('a-entity');
var bladeEl = this.bladeEl = document.createElement('a-entity');
var bladeElPivot = document.createElement('a-entity');
var saberPivotEl = document.createElement('a-entity');
var highlightTop = document.createElement('a-entity');
var highlightBottom = document.createElement('a-entity');
@@ -32,8 +33,13 @@ AFRAME.registerComponent('saber-controls', {
bladeEl.setAttribute('material', {shader: 'flat', color: this.colors[this.data.hand]});
bladeEl.setAttribute('geometry', {primitive: 'box', height: 0.9, depth: 0.020, width: 0.020});
bladeEl.setAttribute('position', '0 -0.55 0');
bladeEl.setAttribute('play-sound', {event: 'draw', sound: "#saberDraw"});
bladeEl.object3D.visible = this.data.bladeEnabled;
// For blade saber draw animation
bladeElPivot.appendChild(bladeEl);
bladeElPivot.setAttribute('animation', 'property: scale; from: 0 0 0; to: 1.0 1.0 1.0; dur: 2000; easing: easeOutCubic; startEvents: draw');
saberHandleEl.setAttribute('material', {shader: 'flat', color: '#151515'});
saberHandleEl.setAttribute('geometry', {primitive: 'box', height: 0.2, depth: 0.025, width: 0.025});
saberHandleEl.setAttribute('position', '0 0 0');
@@ -51,7 +57,7 @@ AFRAME.registerComponent('saber-controls', {
saberPivotEl.setAttribute('rotation', '90 0 0');
saberPivotEl.appendChild(saberHandleEl);
saberPivotEl.appendChild(bladeEl);
saberPivotEl.appendChild(bladeElPivot);
el.appendChild(saberPivotEl);
this.controllerConnected = true;
@@ -65,6 +71,9 @@ AFRAME.registerComponent('saber-controls', {
update: function () {
if (!this.bladeEl) { return; }
this.bladeEl.object3D.visible = this.data.bladeEnabled;
if (this.data.bladeEnabled) {
this.bladeEl.emit('draw');
}
},
tick: function () {

View File

@@ -27,6 +27,7 @@
<a-mixin id="laser" laser geometry="height: 300; depth: 0.16; width: 0.16" materials="neon"></a-mixin>
<audio id="hoverSound" src="/assets/sounds/hover.ogg"></audio>
<audio id="saberDraw" src="/assets/sounds/saberDraw.wav"></audio>
<img id="gridImg" src="assets/img/grid.png">
<img id="playImg" src="assets/img/play.png">