Touchmove和webgl控制冲突

时间:2014-07-19 08:15:00

标签: javascript android three.js touch

我一直在使用和修改由Markus Schuetz为点云创建的漂亮的距离测量工具,但它也适用于网格。

演示:http://potree.org/demo/distance_measure/examples/distance_measure.html

Github:https://github.com/potree/potree/tree/master/examples

但是,我还希望将其用于移动设备。我认为主要的补充是目前的功能只是:

function onDocumentMouseMove(event) {
        event.preventDefault();
        mouse.x = (event.clientX / window.innerWidth ) * 2 - 1;
        mouse.y = -(event.clientY / window.innerHeight ) * 2 + 1;
}

因此需要为touchmoves提供更多功能,例如:

function onDocumentTouchMove(event) {
        event.preventDefault();
        mouse.x = (event.touches[0].pageX / window.innerWidth ) * 2 - 1;
        mouse.y = -(event.touches[0].pageY / window.innerHeight ) * 2 + 1;
}

以及伴随的听众:

document.addEventListener('touchmove', onDocumentTouchMove, false);

但是,这似乎还不够。至少在Android KitKat上,这确实成功地允许移动'开始'和'结束'地标,但是touchmoves仍然与webgl模型平移/旋转产生冲突。我一直希望event.preventDefault();会避免这个问题(作为替代方案,我也尝试过使用event.stopPropagation)

我是否还需要添加touchStart和touchEnd函数才能使其正常工作?

0 个答案:

没有答案