我用一个框架构建一个简单的应用程序,我看到如果我在任何鼠标事件后在Android设备中运行应用程序,我的光标移动到我点击的位置。这有点烦人,因为我使用来自我的vrbox控制器的mouseup事件,其指针位于与我的app光标不同的位置。我想只使用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 :(得分:0)
我们通常不希望测试场景中的所有交叉点(例如,碰撞或点击)。选择性交叉点有利于性能,以限制测试交叉点的实体数量,因为交叉点测试是一种每秒运行60次以上的操作。
要选择或选择我们要测试交集的实体,我们可以使用objects属性。如果未定义此属性,则raycaster将测试场景中的每个对象以进行交集。对象采用查询选择器值: