0
我試圖重置three.js中最新對象的位置。單擊Three.js後重置SELECTED對象的位置
首先我有這樣的:
function onDocumentMouseDown(event) {
event.preventDefault();
var vector = new THREE.Vector3(mouse.x, mouse.y, 0.5);
projector.unprojectVector(vector, camera);
var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
var intersects = raycaster.intersectObjects(objects);
if (intersects.length > 0) {
controls.enabled = false;
SELECTED = intersects[ 0 ].object;
container.style.cursor = 'move';
//mouse Click goes here
buildMenu();
}
}
在我buildMenu功能I位置我的對象是這樣的:
function buildMenu(){
camera.position.set(0,60,250);
//HERE I POSITION MY SELECTED OBJECT
SELECTED.position.x = 0;
SELECTED.position.y = 50;
SELECTED.position.z = 200;
$(document).bind('click',function(){
$(document).click(function(){
scene.remove(overlayBG);
**//HERE I TRY TO RESET EVERYTHING BUT NOTHING WORKS : (**
});
});
//$('#bg, #menu').fadeIn(100)
}
我以爲我可以很容易地通過mesh.position.set重置我的對象(0,0,0)在$(document).click函數內但不起作用。如何檢測最新(重新定位)的對象,以及如何重新定位它。
謝謝妮歐塔·烏乎拉,可以幫助:)但是,如果我嘗試定位別的東西作爲例如SELECTED我的網格,它說它沒有定義,你能給我一個提示嗎? – 2013-04-25 16:07:36
如果你的函數中的變量是本地的,那麼在函數之外它將是未定義的。您可以更新示例以顯示您的問題。 – uhura 2013-04-25 18:30:08
嘿Uhura,這裏是鏈接[鏈接](http://holy-crab.de/WebGL/sites/shop.html)如果你點擊多維數據集它提醒名稱。想法是點擊一塊電路板,電路板向相機移動,然後點擊電路板旁邊的按鈕,再次移動到原來的位置。立方體只是一個佔位符。謝謝 – 2013-04-25 20:11:10