Three.js - 无法从函数对象中检索对象

时间:2014-04-02 17:45:50

标签: 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);

最后,我尝试将行星对象的球体网格添加到three.js场景中。

scene.add(planet.sphere);

我在Chrome JavaScript控制台中没有出现任何错误,但该漏洞未显示出来。如果我从Planet函数外部创建一个球体网格并将其添加到场景中,它就可以工作。但是,从长远来看,将所有功能都放在功能之外真的没有意义。我最终将不得不创建多个阵列来存储一颗行星。

1 个答案:

答案 0 :(得分:0)

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);

function Planet(radius, c) {

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

}

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