THREE.js ORBITCONTROLLS изменение кнопок мыши не работает
Здравствуйте, я пытаюсь сделать что-то с THREE.js, но по какой-то причине мои.mouseButtons не работают
var controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.target.set( 0, 25, 0 );
controls.mouseButtons = {ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
controls.update();
у меня есть THREE.js, и я проверил, есть ли там THREE.MOUSE, если я добавлю эту часть кода, кнопки мыши полностью отключатся
надеюсь, кто-нибудь может мне помочь
1 ответ
Решение
Поскольку этот коммитmouseButtons
объект изменил свои ключи. Вы больше не указываете ORBIT
, ZOOM
а также PAN
но вместо этого вы сопоставляете кнопки мыши с кнопками карты. Какую версию THREE.js вы используете? Может ли это быть причиной ваших проблем?
В текущей версии ваш код должен (в моем понимании) быть написан следующим образом:
var controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.target.set( 0, 25, 0 );
controls.mouseButtons = {LEFT: THREE.MOUSE.LEFT, MIDDLE: THREE.MOUSE.MIDDLE, RIGHT: THREE.MOUSE.RIGHT};
controls.update();
Однако обратите внимание, что это уже сопоставления по умолчанию, поэтому, если вы не собираетесь их менять, вся строка может быть опущена.