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