我正在使用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>
答案 0 :(得分:0)
将cursor
组件放在<a-marker>
实体中时会起作用:
<a-marker preset='hiro' cursor="rayOrigin: mouse">
.....
</a-marker>
codepen here。