我尝试在我的aframe实体中添加onclick事件,如下所示:
<a-sphere id="sphere1" onclick="moveSphere()"
position="0 1.25 -1" radius="1.25" color="#EF2D5E"></a-sphere>
但它不适用于移动设备。
或者,我尝试过像这样添加触摸事件监听器,但没有任何反应:
sphereElement.addEventListener('touchend', moveSphere);
答案 0 :(得分:1)
3D元素与DOM元素不同,您不能像touchend那样在它们上注册正常的DOM事件。您必须在<head>
<script src="https://aframe.io/releases/0.3.0/aframe.min.js"></script>
<script src="https://unpkg.com/aframe-click-drag-component"></script>
<script>
registerAframeClickDragComponent(window.AFRAME);
</script>
</head>
<body>
<a-scene>
<a-sphere click-drag position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-camera look-controls-enabled="false"></a-camera>
</a-scene>
</body>
要实现这一点,您需要像https://jesstelford.github.io/aframe-click-drag-component/
这样的raycaster解决方案{{1}}