2017-10-09 5 views
1

J'essaie actuellement d'obtenir une entrée de bouton à partir des boutons Oculus Touch. J'ai été en mesure d'attacher un laser-contrôles à la commande, mais je voudrais être en mesure d'activer et de désactiver le laser. Je ne sais pas si cela possible, mais je travaille actuellement avec cette configuration qui ne donne pas de réponse:Comment faire pour configurer l'entrée de bouton pour A-Frame

<script> 
AFRAME.registerComponent('x-button-listener', { 
    init: function() { 
     var el = this.el; 
     el.addEventListener('xbuttondown', function(evt) { 
      var cameraEl = document.querySelector('#cameraRig[#left-hand]'); 
      cameraEl.removeAttribute('laser-controls'); 
     }); 
    } 
}); 
</script> 

et

<a-entity id="cameraRig"> 
    <a-entity x-button-listener id="left-hand" teleport-controls="button: trigger; collision-entities: #ground" laser-controls="hand: left"></a-entity> 
</a-entity> 

Toute aide serait grandement apprécié.

+0

Avez-vous enregistré/inclus le composant dans le ''? Cela semble correct au premier coup d'oeil ... est-ce que 'triggerdown' fait quoi que ce soit? – ngokevin

+0

Je ne suis pas en train d'enregistrer le triggerdown. J'utilise teleport-controls = "button: trigger, collision-entities: #ground" qui utilise le trigger pour se téléporter. Après un peu plus de tests, j'ai utilisé l'exemple sur le site A-Frame pour l'entrée xbutton et il a fait disparaître tout le contrôleur Oculus lorsque je voulais seulement affecter le contrôle laser – douglascomet

Répondre

0

Vous voulez faire .setAttribute('raycaster', 'showLine', false), pas enlever laser-controls.

+0

Merci! C'est la solution dont j'avais besoin. Je suis relativement nouveau à javascript, donc je me suis appuyé sur des exemples explicites de la façon de faire certaines choses. – douglascomet

1

Votre requête a l'air bizarre. Ne vous dire

document.querySelector('#left-hand') 

ou

document.querySelector('#cameraRig > #left-hand') 

(voir MDN pour plus d'informations)