0
OBJMesh 모델 판독기를 쓰려고하는데 OBJMesh 클래스를 설정했지만 OBJMesh 객체를 만들고 배열을 호출하여 저장된 데이터를 검색하려고하면 get 기능, 그것을하지 않습니다.javascript - 배열 데이터를 검색 할 수 없습니다.
여기
OBJMesh.js
function OBJMesh(file)
{
this.modelVertex = [];
this.modelColor = [];
this.init = false;
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, true);
var objmesh = this;
rawFile.onreadystatechange = function()
{
if(rawFile.readyState == 4)
{
if(rawFile.status === 200 || rawFile.status === 0)
{
var allText = rawFile.responseText;
var lines = allText.split("\n");
for(var i = 0; i < lines.length; i ++)
{
var lineData = lines[i];
var lineString = lineData.split(" ");
if(lineString[0] === "v")
{
var x = parseFloat(lineString[1]);
var y = parseFloat(lineString[2]);
var z = parseFloat(lineString[3]);
objmesh.modelVertex.push(x);
objmesh.modelVertex.push(y);
objmesh.modelVertex.push(z);
objmesh.modelColor.push(0.0);
objmesh.modelColor.push(0.0);
objmesh.modelColor.push(0.0);
objmesh.modelColor.push(1.0);
//document.getElementById("textSection").innerHTML = objmesh.modelVertex[0];
}
}
}
}
objmesh.init = true;
}
rawFile.send();
}
OBJMesh.prototype.getModelVertex = function()
{
return this.modelVertex;
};
OBJMesh.prototype.getModelColor = function()
{
return this.modelColor;
};
OBJMesh.prototype.getInit = function()
{
return this.init;
};
main.js
var cubeModel;
function main()
{
cubeModel = new OBJMesh("file:///Users/DannyChen/Desktop/3DHTMLGame/cube.obj");
while(cubeModel.getInit() === false)
{
//wait for it
}
var cubeVertex = cubeModel.getModelVertex();
document.getElementById("textSection").innerHTML = cubeVertex[0];
}
그냥 "정의되지 않은"밖으로 인쇄 유지 코드를합니다. 왜 그거야? 어떻게 해결할 수 있습니까 ??
Mank 덕분에 도움이되기를 바랍니다
의 끝에서 설정할 수 있습니다 될 수 있습니다. 그러나 onreadystatechange 함수 다음에 init을 true로 설정하면 여전히 문제가 남아 있습니다. 주변에 또 다른 사람이 있습니까 ?? – Danny
줄을 // document.getElementById ("textSection"). innerHTML = objmesh.modelVertex [0]; _ 사용자가 주석으로 값을 반환 할 때? –
죄송합니다. 지금 분류했습니다. 다시 한 번 감사드립니다 – Danny