Javascript Three.js-Can';t从函数对象中检索对象

Javascript Three.js-Can';t从函数对象中检索对象,javascript,function,three.js,Javascript,Function,Three.js,这是我的函数 function Planet(radius, c) { var sphere = new THREE.Mesh( new THREE.SphereGeometry(radius, 64, 64), new THREE.MeshLambertMaterial({ color: c }) ); } var planet = new Planet(1, 0xffffff); 然后我从函数中创建一个对象 function Plane

这是我的函数

function Planet(radius, c) {

    var sphere = new THREE.Mesh(
        new THREE.SphereGeometry(radius, 64, 64),
        new THREE.MeshLambertMaterial({ color: c })
    );

}
var planet = new Planet(1, 0xffffff);
然后我从函数中创建一个对象

function Planet(radius, c) {

    var sphere = new THREE.Mesh(
        new THREE.SphereGeometry(radius, 64, 64),
        new THREE.MeshLambertMaterial({ color: c })
    );

}
var planet = new Planet(1, 0xffffff);
最后,我尝试将行星对象的球体网格添加到three.js场景中

scene.add(planet.sphere);
我在Chrome JavaScript控制台中没有收到任何错误,但是sphere没有显示。如果我从Planet函数外部创建一个球体网格,并将其添加到场景中,它就会工作。不过,从长远来看,让所有功能之外的东西都发挥作用是没有意义的。我最终将不得不创建多个阵列来存储单个行星。

试试看

function Planet(radius, c) {

    this.sphere = new THREE.Mesh(
        new THREE.SphereGeometry(radius, 64, 64),
        new THREE.MeshLambertMaterial({ color: c })
    );

}

var planet = new Planet(1, 0xffffff );
scene.add(planet.sphere);


这只是google的第一个成功:javascript范围。不是背书。