这是我的代码的相关部分:
ajax({
url: "TeaPot.obj",
success: function(data) {
var Script = data.split("\n");
for (var I in Script) {
var Line = Script[I];
console.log(Line);
//If Vertice Line
if (Line.substring(0, 2) == "v ") {
//console.log("CORRECT");
var Row = Line.substring(2).split(" ");
console.log(Row[0]);
verts[verts.length] = new Vector3(parseFloat(Row[0]),parseFloat(Row[1]), parseFloat(Row[2]));
}
}
现在这应该遍历每一行并寻找“v”,但我的顶点数组仍然没有任何原因,任何原因?
哦,obj文件看起来像这样
v -0.3393 0.0000 -12.3639
v 1.8409 3.7515 -8.3253
我现在拥有它所以它会将顶点的长度设置为96,这是正确的,但数组没有任何存储???
newX = parseFloat(row[1]);
newY = parseFloat(row[2]);
newZ = parseFloat(row[3])
verts.push = new Vector3(newX, newY, newZ);
console.log(verts[verts.length-1]);
答案 0 :(得分:4)
data
是一个字符串,即回复的内容。data.responseText
是undefined
。data.responseText.split
是一个例外,您无法访问undefined
。你想要这个:
// save capital letter variables for constructors
var script = data.split("\n");
答案 1 :(得分:0)
它认为数据的 responseText 属性未定义。我会在“var Script = ...”行使用firebug设置断点,并检查数据的值是什么。如果您无法设置断点,请在该行之前执行一个简单的警报(数据); ,以查看数据的值。我怀疑数据是原始文本。