2012-10-31 68 views
0

我在場景中使用了軌跡球控件,除了鼠標縮放功能外,我還想實現一個縮放按鈕(調用一個可以進行縮放的javascript函數)。我怎樣才能做到這一點?Three.js如何通過函數調用使用縮放?

+0

我還需要實現平移按鈕...也許過程是類似的? – Leprosy

+0

你可能應該更具體些。 TrackballControls可能不會很適合你想要做的事情。您是否想要縮放鍵盤按鈕或按屏幕上的按鈕?鍵盤按鈕爲平底鍋?或屏幕上的泛箭頭? –

+0

軌跡球控制對於我們正在構建的應用程序來說似乎非常完美,但我們希望通過按鈕實現縮放,除了軌跡球縮放功能。並通過按鈕平移,補充而不是替代Trackball控件。 – Leprosy

回答

1

我正在使用單擊左鍵或右鍵並保持對數放大或縮小。

/// listeners 
document.addEventListener('contextmenu', function(e){e.preventDefault();}, false); 
document.addEventListener('mousedown', toggleOn, false) 
document.addEventListener('mouseup', toggleOff, false) 

/// controls 
     function toggleOn(event){ 
      if(t==0){ 
       button = event.which 
       t=setInterval('mouseDown()',speed); 
      } 
     } 
     function toggleOff(){ 
      if(t!=0){ 
       clearInterval(t); 
       t=0; 
      } 
     } 

     function mouseDown (event){ 
       if (button == 1){ 
        camera.fov += speed     
      } else if (button == 3){   
        camera.fov -= speed 
        } 

     camera.updateProjectionMatrix(); 
     render();