JavaScript代码不起作用

时间:2013-02-23 21:25:11

标签: javascript jquery three.js

我正在尝试使用three.js库,这是一个javascript 3d库...

所以代码片段就是这样:

var segments = 16, rings = 16;
//var radius = 50;  <-- original

// create a new mesh with sphere geometry -
// we will cover the sphereMaterial next!
var scene = new THREE.Scene();
// My read from file snippet.
$.getJSON('sample.json', function(data) {  
     var radius = data.circles.r;
     console.log(radius);


    var sphere = new THREE.Mesh(
       new THREE.SphereGeometry(radius, segments, rings),
       sphereMaterial);

    // add the sphere to the scene
    scene.add(sphere);
});
// and the camera
scene.add(camera);

所以基本上早些时候这段代码..半径是硬编码的(第二行),而不是硬编码半径..我是从json文件中读取它的?

{
 "circles":

{"x":14,"y":2,"z":4,"r":20}
}

但它没有显示任何东西?我也没看到萤火虫有任何错误 有什么建议? 感谢

1 个答案:

答案 0 :(得分:1)

$.getJSON(...)的调用是异步的。所以陈述的顺序很可能是

  1. var scene = new THREE.Scene();
  2. scene.add(照相机);
  3. var sphere = new THREE.Mesh(...);
  4. scene.add(球);
  5. 如果您将scene.add(camera);移到成功功能中,它应该像以前一样工作。