2017-02-07 4 views
0

나는더 scene.childs Three.js를에 이름이나 ID로 현장에 접근하지하는 방법 유일한 장면은

catch되지 않은 형식 오류 말씀이 three.js how to get scene by id(name)

시도하고있다 왜 내가 이름이나 ID로 장면에 액세스 할 수 없습니까?

코드이 작동하지 않는 이유

// setup scenes 
var scene-1 = new THREE.Scene(); 
scene-1.add('cube_red'); 

var scene-2 = new THREE.Scene(); 
scene-2.add('cube_green'); 

// get scenes by name 
var sceneObj = THREE.Object3D.getObjectByName("scene-1"); 
console.log(sceneObj.userData.someProp); 

// or 

selectedScene = THREE.Object3D.getObjectByName("scene-1"); 

내가 모르는 무엇입니까 ??

답변

1

변수 이름에 -1 또는 -2를 사용할 수 없습니다.

+0

이 예 iknow입니다 – George

+0

보통 난 당신이 작동하지 않는 코드를 게시하고 사람들이 추론을 기대할 수 없다 – George

+0

이 cube_1 또는 cube_2 같은 이름을 가지고있다. 대답에 대한 – gaitat

0

게시 한 코드가 유효하지 않은 JavaScript입니다. 그러나 이것은 얻는 것과 같은 오류를줍니다 :

var scene1 = new THREE.Scene(); 
var sceneObj = THREE.Object3D.getObjectByName("scene1"); 

getObjectByName을 사용하기 전에 객체를 인스턴스화해야합니다. 이것은 작동합니다 :

//create a Scene 
var scene1 = new THREE.Scene(); 

//create an Object3D 
var object1 = new THREE.Object3D(); 

//give the object a name. By default objects in three don't have names 
//but you can add one manually 
object1.name = 'obj1'; 

//add the object as a child of the scene 
scene1.add(object1); 

//now search through the scene's children for an object called 'obj1' 
var obj1 = scene1.getObjectByName('obj1'); 

console.log(object1 === obj1); //true 
+0

thnx하지만 당신은 내 질문 understant 생각하지 않아 – George

+0

나는 우리 둘을 만드는 것으로 의심. 아마도 다시 설명해 주실 수 있을까요? 그리고 도움을 요청할 때 항상 유효한 코드를 게시하도록하십시오. – looeee