0

我对three.js和javascript都是新手,所以这可能是一个非常菜鸟的问题。

我在一个文件中有一个 json 对象列表,其中包含如下数据:

[
{ "x":x,"y":y,"z":z ,"r":r},
{ "x":x2,"y":y2,"z":z2 ,"r":r2},
{ "x":x3,"y":y3,"z":z 3,"r":r3}
]

并在屏幕上渲染。

它正是这里的一个例子:http: //mrdoob.github.com/three.js/examples/webgl_materials2.html

除了我从文件中读取的球体值?

我如何调整上面的例子,我从这个文件中读取值,而不是直接在 js 中硬编码这些值?

请帮忙谢谢

4

1 回答 1

1

如果您只想将数据与应用程序逻辑分开,那么您无需创建 JSON 文件并通过 Ajax 加载它,您只需创建另一个 JavaScript 文件并将数据放入其中。

例如:

// myData.js
var myData = [
    { "x":x,"y":y,"z":z ,"r":r},
    { "x":x2,"y":y2,"z":z2 ,"r":r2},
    // ...
];

// --------------

// myApplication.js

// Here goes the three.js code and you can access the data here, for example
alert(myData[0].x);

在您的 HTML 文件中,您必须首先包含数据文件,以便所有以下脚本都可以访问该myData变量:

<script src="myData.js"></script>
<script src="myApplication.js"></script>
<!-- this works to: -->
<script>
    alert(myData.length);
</script>

如果您想或必须通过 Ajax 加载文件,请查看以下问题:How do I load a JSON object from a file with ajax? .

于 2013-02-23T10:46:00.353 回答