使用three.js访问右键

Accessing right click with three.js

本文关键字:右键 访问 js three 使用      更新时间:2023-09-26

一直在寻找如何在任何地方做到这一点,几乎没有关于three.js的文档。有人知道我怎么能访问鼠标右键吗?这是我现在的代码:

function onDocumentMouseDown(event) 
{
    mouseDown = true;
    event.preventDefault();
    mouseX = event.clientX - windowHalfX;
    mouseY = event.clientY - windowHalfY;
    document.addEventListener('mousemove', onDocumentMouseMove, false);
    document.addEventListener('mouseup', onDocumentMouseUp, false);
    document.addEventListener('mouseout', onDocumentMouseOut, false);
}

这对于我使用它的效果很好,但这个事件是用于左键,中键和右键单击。如何隔离右键事件,使左键和右键可以产生不同的效果?

event具有button的属性。你可以这样处理:

switch ( event.button ) {
    case 0: // left 
        break;
    case 1: // middle
        break;
    case 2: // right
        break;
}

从r120开始,OrbitControls使用指针事件。试试pointerdown:

document.onpointerdown = function(event) {
    switch ( event.button ) {
        case 0: console.log("Left Button is down."); 
            break;
        case 1: console.log("Middle Button is down."); 
        //Beware this work not on mac with magic mouse!
            break;
        case 2: console.log("Right Button is down.");
            break;
    }
}

欢呼