Add saber draw sound and animation
This commit is contained in:
BIN
assets/sounds/saberDraw.wav
Normal file
BIN
assets/sounds/saberDraw.wav
Normal file
Binary file not shown.
@@ -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 () {
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user