는 카메라 패닝은 마우스 오른쪽 버튼Trackball 컨트롤 (r87)에서 왼쪽 마우스 버튼으로 PerspectiveCamera 패닝을 수행하는 방법은 무엇입니까? 기본적으로
Control.panSpeed = 1.5;
함께하지만 난 마우스 왼쪽 버튼에서 작업 할. 어떻게 설정합니까?
는 카메라 패닝은 마우스 오른쪽 버튼Trackball 컨트롤 (r87)에서 왼쪽 마우스 버튼으로 PerspectiveCamera 패닝을 수행하는 방법은 무엇입니까? 기본적으로
Control.panSpeed = 1.5;
함께하지만 난 마우스 왼쪽 버튼에서 작업 할. 어떻게 설정합니까?
이렇게하려면 트랙볼 코드를 쉽게 수정해야합니다.
당신이 TrackballControls.js 보면
, 바로 시작 세부 사항 키 코드 상관 상태 머신 ( source code) :THREE.TrackballControls = function (object, domElement) {
var _this = this;
var STATE = {NONE: -1, ROTATE: 0, ZOOM: 1, PN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM_PANE: 4};
this.object = object;
this.domElement = (domElement !== undefined) ? domElement : document;
// API
this.enabled = true;
this.screen = { left: 0, top: 0, width: 0, height: 0 };
더 아래로 keydown()
기능과 관련이있다 (source code) :
function keydown(event) {
if (_this.enabled === false) return;
window.removeEventListener('keydown', keydown);
_prevState = _state;
if (_state !== STATE.NONE) {
return;
} else if (event.keyCode === _this.keys[ STATE.ROTATE ] && ! _this.noRotate){
_state = STATE.ROTATE;
} else if (event.keyCode === _this.keys[ STATE.ROTATE ] && ! _this.noZoom){
_state = STATE.ZOOM;
} else if (event.keyCode === _this.keys[ STATE.ROTATE ] && ! _this.noPan){
_state = STATE.PAN;
}
이렇게 테스트 할 기회가 없었지만 11 번 라인의 PAN (오른쪽 클릭의 키 코드)을 0 (왼쪽 클릭) 또는 원하는 다른 키 코드로 변경할 수 있어야합니다. 버그가 발생하기 쉬운 동시에 회전 및 패닝 지시문을 피하려면 ROTATE도 변경해야합니다.
편집는 : TheJim01의 도움이 보정 @를 당, 실제로 트리거 실제 클릭 이벤트는 스크립트의 라인 393에 function mousedown(event)
에 발생합니다. event.button은 상태 머신의 해당 숫자에 해당합니다. 혼란에 대해 죄송합니다.
나는'keydown'이 아니라'mousedown' 이벤트라고 생각합니다. 상관 관계 논리는 현재 마우스 버튼 ('_state = event.button;')으로 동작 상태를 설정 한 후에 발생합니다. – TheJim01
[질문 할 때 코드의 이미지를 업로드하지 않으시겠습니까?] (https://meta.stackoverflow.com/questions/285551/why-not-upload-images-of-code-on-so-when) -asking-a-question) - 이것은 답변에도 적용됩니다. – Rabbid76
@AquaVitae 정말 고마워요. 그것은 운동했다. 하지만 난 정말 왼쪽 클릭에 대한 PAN 및 회전 키 코드를 원한다. 아무리해도 가능할까요? – Mhd