UNPKG

aframe-gui

Version:
41 lines (39 loc) 1.24 kB
AFRAME.registerComponent('gui-interactable', { schema: { clickAction: {type: 'string'}, hoverAction: {type: 'string'}, keyCode: {type: 'number', default: -1}, key: {type: 'string'}, }, init: function () { var _this = this; var data = this.data; var el = this.el; if(data.keyCode > 0){ window.addEventListener("keydown", function (event) { // console.log('in keydown handler, event key: ' + event.key); if(event.key == data.key){ // console.log("key press by gui-interactable, key: " + data.key); el.emit('click'); } else if (event.keyCode == data.keyCode){ // console.log("key press by gui-interactable, keyCode: " + data.keyCode); el.emit('click'); } event.preventDefault(); }, true); } }, update: function () { }, tick: function () { }, remove: function () { }, pause: function () { }, play: function () { }, setClickAction: function (action) { this.data.clickAction = action; //change function dynamically }, });