У меня есть сцена, работающая с orbitControls в трехjs (r84), и я хочу добавить событие мыши для raycasting. Функция работает, но я не могу назвать оба события. Они работают, только если я выключу другого.Trjs добавить событие мыши с элементами управления орбиты
Внутри моей функции инициализации У меня есть
controls = new THREE.OrbitControls(cameraB1, rendererB1.domElement);
controls.addEventListener('change', render);
controls.enableZoom = true;
controls.enableRotate= false;
controls.addEventListener('mousedown',myOnMouseDownFunction ,false);
controls.update();
А функция мне нужно вызвать
function myOnMouseDownFunction(evt) {
evt.preventDefault();
var array = getMousePosition(contB1, evt.clientX, evt.clientY);
onClickPosition.fromArray(array);
var intersects = getIntersects(onClickPosition, sceneB1.children);
if (intersects.length > 0 && intersects[ 0 ].uv) {
var uv = intersects[ 0 ].uv;
console.log(uv);
}
console.log("I am being called");
}
Так как я на орбите или вызвать мою функцию. Что я могу сделать? Пожалуйста, помогите мне.
Рабочая копия это здесь http://cb.uu.se/~lesso657/3D/first.html вы можете проверьте код –
Я изменил «controls.addEventListener» на прослушиватель событий add элемента dom, и он сработал. Но он не работал раньше, поэтому я хотел посмотреть, могу ли я добавить слушателей событий в элементы управления ThreeJS. –
Вы хотите, чтобы они работали? – Tlatis