2017-02-02 93 views
3

有沒有辦法讓相機在this demo中的旋轉受到移動設備移動以及鼠標移動的控制?這已針對移動here實施,但不能與鼠標一起使用。這是目前控制着鼠標攝像頭旋轉:three.js - 將相機旋轉鏈接到移動設備內部div

function render() { 
     var timer = -0.0002 * Date.now(); 
     camera.position.x += (mouseX - camera.position.x) * .05; 
     camera.position.y += (- mouseY - camera.position.y) * .05; 
     camera.lookAt(scene.position); 
     pointLight.position.x = 1500 * Math.cos(timer); 
     pointLight.position.z = 1500 * Math.sin(timer); 
     renderer.render(scene, camera); 
    } 

的目標是把它放在一個div可滾動頁面上 - 我已經看到了這個在一個全視頁面實現,但不作爲更長頁面中的元素

回答

1

您可以先檢查它是否是移動設備。 如果是:使用DeviceOrientation ... else:使用爲鼠標編寫的代碼。

檢查,如果是手機:

functionisMobile() { 

    if (navigator.userAgent.match(/Android/i) 
     || navigator.userAgent.match(/webOS/i) 
     || navigator.userAgent.match(/iPhone/i) 
     || navigator.userAgent.match(/iPad/i) 
     || navigator.userAgent.match(/iPod/i) 
     || navigator.userAgent.match(/BlackBerry/i) 
     || navigator.userAgent.match(/Windows Phone/i) 
    ) { 
     return true; 
    } 
    else { 
     return false; 
    } 
}