J'ai le composant suivant que j'attache à toutes les caméras dans la scène et enregistre les actions pour chaque point de contrôle que l'utilisateur peut entrer avec cette caméra. En ce moment, il fonctionne en vérifiant la position de la caméra par rapport au point de départ des caméras, mais comment puis-je obtenir cette position mondiale de caméras et être sûr que c'est une caméra active? Depuis, il semble que les caméras inactives continuent d'émettre des événements lorsque certains éléments physiques changent d'emplacement.Comment puis-je écouter la position du monde de la caméra?
AFRAME.registerComponent('user-checkpoints', {
init: function() {
var self = this;
this.el.addEventListener('componentchanged', isOnCheckPoint);
// Is user in checkpoint
function isOnCheckPoint (evt) {
// We don't want such precision what event emits
if (evt.detail.name !== 'position' || (
(evt.detail.oldData.x).toFixed(1) === (evt.detail.newData.x).toFixed(1) &&
(evt.detail.oldData.y).toFixed(1) === (evt.detail.newData.y).toFixed(1) &&
(evt.detail.oldData.z).toFixed(1) === (evt.detail.newData.z).toFixed(1))
) { return; }
// Position has changed enough to check it
self.LookForCheckPoint(evt.detail.newData.x, evt.detail.newData.y, evt.detail.newData.z);
}
},
LookForCheckPoint: function (x, y, z) {
// All the chekpoints are checked here
console.log('x:' + x + ' y:' + y + ' z:' + z);
}
});
EDIT: je suis arrivé réponse à ma question d'un autre fil à How to listen to camera's world position in A-Frame?