курсор мыши работает только тогда, когда открыт инспектор фреймов?

#aframe

#aframe

Вопрос:

Когда я добавляю

 <a-scene
    cursor="rayOrigin: mouse;"
    raycaster="objects: .rayclick;"
>
 

и

 <a-entity id="clickabl1" class="rayclick" rayclick>
 

и

 AFRAME.registerComponent('rayclick', {
    init: function () {
        this.el.addEventListener('click',  (evt) => {
            alert(`I was clicked at ${this.el.id}`);
        });
    }
});
 

В итоге я столкнулся со странной ситуацией… по-видимому, код ничего не делает, вообще не работает щелчок — за исключением того, что, когда я открываю инспектор фреймов, он внезапно работает отлично. Затем, когда я закрываю инспектор, снова ничего не работает.

Что это может означать?

Комментарии:

1. Кажется, работает: jsfiddle.net/w97t12rp . У вас есть пример с этой проблемой?

2. @PiotrAdamMilewski Большое вам спасибо, я искал raycaster, который работает с Aframe amp; Blippar, и все примеры также запускали raycaster при наведении курсора на выбранную модель. Это отлично работает для меня!

Ответ №1:

Позже я обнаружил, что инспектор использует курсор мыши, у которого нет objects фильтра, что может заставить его работать всякий раз, когда другие курсоры могут выйти из строя. Я также обнаружил, что в текущем A-фрейме иногда встречаются некоторые тонкие, трудно воспроизводимые ошибки с курсорами.

Но это объясняет, почему курсоры, вероятно, работали в инспекторе, но не иначе.

Существует также вопрос о том, как рисуется луч от курсора мыши — его происхождение будет другим, когда инспектор открыт, поэтому внимательно проанализируйте это. (Здесь я начинаю находить незначительные ошибки, особенно если вы настроите его после его создания.)