У меня есть строительный проект с three.js ... canvas, где вы также можете перетаскивать объекты и играть с видом с камеры ... есть известный пример - "Draggable Cubes", ну мой проект очень похож.
В моем проекте есть 3 основных события: mouseup / mousedown / mousemove ...
Ну, все было хорошо .... но сейчас я пытаюсь запустить этот код на iphone, меняямои события с touchstart / touchmove / touchend ...
Функция движущегося объекта, кажется, работает нормально, но когда я пытаюсь выбрать объект, щелкнув по нему, это всегда тот же объект, который был выбран ...и не тот, на который я указываю ....
Я думаю, проблема в этой функции:
function onDocumentMouseDown( event ) {
event.preventDefault();
var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
projector.unprojectVector( vector, camera );
var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );
var intersects = ray.intersectObjects( objects );
if ( intersects.length > 0 ) {
SELECTED = intersects[ 0 ].object;
var intersects = ray.intersectObject( plane );
offset.copy( intersects[ 0 ].point ).subSelf( plane.position );
}
}
У кого-нибудь есть идеи, в чем проблема ???