我试试这个three.js how to get scene by id(name)
我得到了这个错误
Uncaught : THREE.getObjectByName不是函数
为什么我不能用名字或身份进入现场?
密码是
// 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");有什么建议吗?
发布于 2017-02-07 03:42:15
变量名中不能有-1或-2。
发布于 2017-02-07 05:28:02
您发布的代码无效。但这会给出与您所得到的错误相同的错误:
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); //truehttps://stackoverflow.com/questions/42081113
复制相似问题