Событие нажатия зарегистрированного компонента в Aframe версии 0.8.2, и мастер не работает - PullRequest
0 голосов
/ 23 ноября 2018

Я использовал этот точный код в предыдущей версии Aframe 0.8.0, и щелчок работал нормально.Однако, когда я попытался использовать 0.8.2 или мастер-версию, она не показала никаких признаков щелчка и не показала никаких ошибок

Это мой зарегистрированный компонент, который я хотел бы обнаруживать клики на объектах, к которым он прикреплен.

 AFRAME.registerComponent('change-color-on-hover', { 
    init: function () {
        var data = this.data;
        var el = this.el;  // <a-box>
        var defaultColor = el.getAttribute('material').color;
        /**
         * Attach 'click' event
         */
        el.addEventListener('click', function () {
          alert('clicked');
        });
     }});

Элемент, в котором я хочу обнаружить щелчок (я устанавливаю его позицию позже, и они появляются там, где должны быть)

  <a-image position="" src="#blue_target_rendered" height="30" width="40" depth="1" shadow event-set__click="_event: click; color:black" change-color-on-hover look-at="[camera]"  id="hotspot-{{$hotspot->id}}" data-link-to="{{$hotspot->link_to}}" data-link-from="{{$hotspot->link_from}}">

1 Ответ

0 голосов
/ 23 ноября 2018

При такой настройке:

<a-entity id="cameraParent" position="0 0 0" > 
   <a-entity id="cam" camera="zoom:1;" look-controls collider-check position="0 0 0" > 
      <a-entity cursor=" rayOrigin: mouse" geometry="primitive: ring; radiusInner: 0; radiusOuter: 0" material="color: black; shader: flat"></a-entity> 
      <a-entity raycaster="showLine: true; far: 1000"></a-entity>
   </a-entity> 
</a-entity>

Компонент line, созданный raycaster, создает помехи лучам, испускаемым cursor = rayOrigin: mouse.Другими словами, вы нажимаете на элемент с line при каждом щелчке.

Если вы немного измените положение raycaster:

<a-entity position="0 -0.1 0" raycaster="showLine:true; far: 1000"></a-entity>

Курсор мыши должен бытьработает нормально.

...