0
好吧,所以加载器的异步行为是什么让我失望。下面是我有:如何在three.js中加载json对象的数组?
for(i = 0; i < 37; i++){
partLoader.load("parts/" + filename[i], function (geometry) {
var partMesh = new THREE.Mesh(geometry, basicMat);
partMesh.position.y = yPos;
partMesh.position.x = xPos;
bodyPart.push(partMesh);
rayCastScene.add(partMesh);
});
}
本来我是设置bodyPart[i] = partMesh
而是由当时的回调跑到我= 36,他们都只是在最后一个元素改写对方。推他们至少让他们在阵列中,但我不知道哪个索引随着哪个元素了。
我使用这个与光线追踪识别特定对象。 if(SELECTED == bodyPart[i]) ...
类似的问题在这里,但没有办法解决:THREE.JS loading an array of STL Meshes
我不明白我猜。这在我的上下文中如何工作? – Sammy 2014-11-24 22:37:20
您加载异步的东西,所以你最终更快,然后阿贾克斯完成,所以你需要做,只有当第一个结束一次迭代或者你会得到你所得到的) – Smile0ff 2014-11-24 22:44:01
大大减缓了加载时间,但它确实工作。 – Sammy 2014-11-25 03:18:52