是否可以在一帧(移动浏览器)中获取触摸事件?

时间:2016-09-28 17:59:58

标签: javascript mobile aframe

我尝试在我的aframe实体中添加onclick事件,如下所示:

<a-sphere id="sphere1" onclick="moveSphere()" position="0 1.25 -1" radius="1.25" color="#EF2D5E"></a-sphere>

但它不适用于移动设备。

或者,我尝试过像这样添加触摸事件监听器,但没有任何反应:

sphereElement.addEventListener('touchend', moveSphere);

1 个答案:

答案 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}}