2017-07-01 10 views
0

私は単純なアプリをa-frameでビルドします。マウスアップイベント後にアンドロイドデバイスでアプリケーションを実行すると、カーソルがクリックされた位置に移動します。これは私のアプリカーソルとは異なる位置にポインタを持っている私のvrboxコントローラからのmouseupイベントを使用するので、少し迷惑です。私はmouseupイベントを使用して、カーソルで指し示されたオブジェクトに関連するイベントを実行したい(コントローラの矢印で指されていない)。おそらく解決策は、mouseupイベント後にカーソル位置をブロックすることです。これを行う方法がありますか?事前のおかげで私のコードは、我々は通常、シーンのすべてをテストする必要はありません。このフレームアップカーソル移動mouseupイベント後

home.html

<a-scene> 
    <a-entity id='cameraWrapper' position="0 -3 0" rotation="0 45 0"> 
    <a-camera> 
     <a-entity cursor="fuse: true; fuseTimeout: 100;" 
      position="0 0 -1" 
      geometry="primitive: ring; radiusInner: 0.005; radiusOuter: 0.01" 
      material="color: black; shader: flat"> 
     </a-entity> 
    </a-camera> 
    </a-entity> 

    <a-sky id="image-360" radius="20" src="./img/startroomHD.jpg"></a-sky> 

    <a-box event-listener position="-8 0 -8" rotation="0 45 0" depth="1" height="10" width="20"></a-box> 
</a-scene> 

controller.js

angular.module('app.controller', ['app.service', 'firebase', 'ngCordova']) 

.controller('HomeCtrl', function($scope){ 
     AFRAME.registerComponent('event-listener', { 
     init: function() { 
     this.el.addEventListener('mouseup', function(evt){ 
      console.log("ciao"); 
     }); 
     } 
    }); 
}); 

答えて

0

https://aframe.io/docs/0.6.0/components/raycaster.html#whitelisting-entities-to-test-for-intersection

です(例えば、衝突またはクリックのための)交差点のために。交差テストは1秒間に60回以上実行される操作であるため、選択的な交差はパフォーマンスを向上させ、交差をテストするエンティティの数を制限します。

交差点をテストするエンティティを選択または選択するには、objectsプロパティを使用できます。このプロパティが定義されていない場合、レイキャスターはシーン内のすべてのオブジェクトが交差するかどうかをテストします。オブジェクトはクエリセレクタの値をとります:

+0

これは役に立ちましたが、私の問題は解決しませんでした。眼鏡のコントローラパッドからのmouseupイベントが、クリックされたポイントでビューを移動するためです。私はmouseupイベント後にカメラの回転を無効にしたい。これは可能ですか? –

関連する問題