AFrame点击模型加载网址问题

时间:2018-10-12 15:50:41

标签: aframe

我正在使用AR.js和Aframe,因此当我单击模型时,它将加载URL。

当我使用基本的盒子形状时,下面的方法工作正常,但是当我添加3D模型时,该模型需要花费几秒钟的时间来加载,然后在加载后执行document.location.href函数,但是我只想在以下情况下触发点击单击模型?

<html>
    <head>
      <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
      <script src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.6.0/aframe/build/aframe-ar.js"></script>

      <script>
        AFRAME.registerComponent('mas', {

          init: function () {
            var data = this.data;
            var el = this.el;  // <a-box>

            el.addEventListener('click', function () {
              console.log('click');
              masClick();
            });

            function masClick() {
              document.location.href = "http://www.google.com";
            };
          }
        });
      </script>

    </head>

    <body style='margin : 0px; overflow: hidden;'>

    <a-scene embedded arjs='sourceType: webcam;' cursor="rayOrigin: mouse">

      <a-entity rotation="0 90 0" dur="7000" mas>
        <a-gltf-model src="scene.gltf" scale="0.05 0.05 0.05" position='0 0.5 0' >
          <a-animation 
             dur="8000" 
             attribute="rotation" 
             to="0 360 0" 
             repeat="indefinite">
          </a-animation>   
        </a->
      </a-entity>

      <a-marker-camera preset='hiro'></a-marker-camera>
    </a-scene> 

    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

cursor组件放在<a-marker>实体中时会起作用:

<a-marker preset='hiro' cursor="rayOrigin: mouse">
  .....
</a-marker>

codepen here