【问题标题】:Mousedown on objects + GUI interface鼠标按下对象 + GUI 界面
【发布时间】:2012-11-30 13:11:44
【问题描述】:

问题如下:如果我将 renderer.domElement 添加到我的相机属性中,GUI 可以完美运行,但 mousedown 操作不起作用。

相反,如果我删除 renderer.domElement,mousedown 操作会起作用,但当我将鼠标悬停后,GUI 会随着我的鼠标移动而 X 缩放。

代码如下:

function init()
{

// scene
scene = new THREE.Scene();

// camera
var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
var VIEW_ANGLE = 45, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;
camera = new THREE.PerspectiveCamera( VIEW_ANGLE, ASPECT, NEAR, FAR);
camera.lookAt(scene.position);  
var distance = 1000; 
camera.position;y = 150;
camera.position.z = 1500;
scene.add(camera);


// renderer
renderer = new THREE.CanvasRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );


// controls
controls = new THREE.TrackballControls( camera);

请问如何解决?

谢谢。

【问题讨论】:

    标签: javascript user-interface three.js mousedown


    【解决方案1】:

    试试这个:

    controls = new THREE.TrackballControls( camera, renderer.domElement );
    

    【讨论】:

    • 正如我所说,如果我将 renderer.domElement 添加到我的相机属性中,GUI 可以完美运行,但鼠标按下操作不起作用。
    • 好吧。那么我们只能猜测它可能会发生什么。如果您能整理一个jsfiddle 来突出您的问题,那将会很有帮助。
    • 很抱歉,我不知道如何包含我的整个库包,所以我提供了一个包含所有内容的 .zip 链接。抱歉给您带来不便:mediafire.com/download.php?vfclcwci81t7uc5。感谢您的时间和耐心。
    • 您的代码和TrackballControls 都在监听鼠标事件。另外,您正在同时使用第三方 THREx 库。你将不得不自己解决这个问题 - 对你来说调试太多了。
    • 看来去掉 trackballcontrols 线可以使 GUI 和鼠标事件正常工作,但我需要相机 - 鼠标旋转。你有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多