1
我在这个项目上工作......假设在浏览器中工作 和iphone以及... 所以我现在正在处理事件问题。 .. 很多JavaScript的事件可以用于iPhone?Iphone - JavaScript事件... for three.js
我在这个项目上工作......假设在浏览器中工作 和iphone以及... 所以我现在正在处理事件问题。 .. 很多JavaScript的事件可以用于iPhone?Iphone - JavaScript事件... for three.js
这取决于您需要什么功能,但在手机上尝试this。 它应该呈现一些类似于这些的立方体结构: three.js cubes http://lifesine.eu/labs/media/images/vector.gif
应该可以触摸和拖动。这是基于带有three.js所老拖动立方体样本,这里使用的事件:
document.addEventListener('mousedown', onDocumentMouseDown, false);
document.addEventListener('touchstart', onDocumentTouchStart, false);
document.addEventListener('touchmove', onDocumentTouchMove, false);
而且这里的听众:
function onDocumentMouseDown(event) {
event.preventDefault();
document.addEventListener('mousemove', onDocumentMouseMove, false);
document.addEventListener('mouseup', onDocumentMouseUp, false);
document.addEventListener('mouseout', onDocumentMouseOut, false);
mouseXOnMouseDown = event.clientX - windowHalfX;
targetRotationOnMouseDown = targetRotation;
}
function onDocumentMouseMove(event) {
mouseX = event.clientX - windowHalfX;
mouseY = event.clientY - windowHalfY;
targetRotation = targetRotationOnMouseDown + (mouseX - mouseXOnMouseDown) * 0.02;
}
function onDocumentMouseUp(event) {
document.removeEventListener('mousemove', onDocumentMouseMove, false);
document.removeEventListener('mouseup', onDocumentMouseUp, false);
document.removeEventListener('mouseout', onDocumentMouseOut, false);
}
function onDocumentMouseOut(event) {
document.removeEventListener('mousemove', onDocumentMouseMove, false);
document.removeEventListener('mouseup', onDocumentMouseUp, false);
document.removeEventListener('mouseout', onDocumentMouseOut, false);
}
function onDocumentTouchStart(event) {
if (event.touches.length == 1) {
event.preventDefault();
mouseXOnMouseDown = event.touches[ 0 ].pageX - windowHalfX;
targetRotationOnMouseDown = targetRotation;
}
}
function onDocumentTouchMove(event) {
if (event.touches.length == 1) {
event.preventDefault();
mouseX = event.touches[ 0 ].pageX - windowHalfX;
targetRotation = targetRotationOnMouseDown + (mouseX - mouseXOnMouseDown) * 0.05;
}
}
注意有使用的几个变量,这可能不是很明显,比如targetRotation,targetRotationOnMouseDown等。随意使用该链接的源代码,但请注意,我去年编码过,因此,一些three.js代码可能略有不同(也许材料等),但事件部分应该仍然工作,如果你把它粘贴到你的代码中。
HTH
感谢您的帮助再次伙计!......我想你的演示,和伤心,但真实的,它不工作在iPhone上......我的意思是工作原理是(Y)唯一的旋转。第二件事是......我的问题更大......不仅需要旋转“相机”......我在画布上制作了可拖动的对象 – BorisD
看到此问题:http://stackoverflow.com/questions/8307535/three-js-project-on-iphone-events-issue-selectdrag-object – BorisD
从技术上讲,如果你可以在Y上旋转,那么触摸事件就可以工作,**回答你的问题**(“Wich javascript events can I用于iphone“);)。它仅适用于Y,因为这是我编码的方式,除此之外没有别的办法可以处理它(如拖拽)。目前无法提交其他问题。看着你的[其他问题](http://stackoverflow.com/questions/8292486/three-js-how-to-detect-what-shape-was-selected-after-drag),并发现了一些问题,但正如我所说,目前没有时间。将在本周晚些时候尝试 –