У меня есть несколько объектов в сцене, которые запускаются извне, чтобы быть видимыми.Когда они видны и пользователь наводит на них курсор (на основе взгляда, поэтому, когда пользователь смотрит на объект), должно воспроизводиться аудио, уникальное для каждого объекта.Когда пользователь смотрит в другое место, звук должен прекратиться.
Проблема, с которой я сталкиваюсь, заключается в том, что слушатель в моем пользовательском компоненте, кажется, не знает, какой объект воспроизводится, когда открыто более одного объекта одновременно, и остановится/ начать неправильный звук.Как мне убедиться, что слушатель предназначен для правильной сущности?
Ссылка на это: Воспроизведение звука при нажатии в A-Frame
js:
AFRAME.registerComponent('play-audio', {
init:function() {
let playing = false;
let audio = this.el.components.sound;
this.el.addEventListener('mouseenter', () => {
var viz = this.el.getAttribute('material').visible;
if (viz){
if(!playing) {
audio.playSound();
} else {
audio.stopSound();
}
playing = !playing;
}
});
this.el.addEventListener('mouseleave', () => {
audio.stopSound();
playing = !playing;
})
}
})
пример HTML:
<a-sound id="popup1" data-clickable play-audio autoplay="false" loop="false" volume="5" visible="false" src="#audio1">
</a-sound>
<a-sound id="popup2" data-clickable play-audio autoplay="false" loop="false" volume="5" visible="false" src="#audio2">
</a-sound>