【发布时间】:2022-02-05 20:34:48
【问题描述】:
three.js中Loader对象的Parse方法允许你设置一个回调函数,当解析过程完成时调用。 这个回调被称为传递给它一个唯一的参数,它是被解析的对象。
我的问题是我需要将另一个参数传递给回调。 这是因为我在循环中使用 parse 方法,并且我想为每个人创建许多具有特定变量值的回调。
如果我在循环中设置此值但在回调之外设置回调时不可避免地执行,显然该值始终是循环中设置的最后一个。
这是代码:
for(var foldcont_index in foldcont) {
var foldit= foldcont[foldcont_index];
if(foldit.isDirectory()) { loadBFiles(fold+'/'+foldit.name); }
if(foldit.isFile()) {
var buigltf= fs.readFileSync(fold+'/'+foldit.name, 'utf8');
loader.parse(
buigltf,
undefined,
function(o) {
var oname= // !!! before issue with foldit.name
objectstank['xxx_'+oname]= o;
loadpoint= loadpoint+loadpercentage;
loadbar.set(loadpoint);
if(loadpoint>= 100) { document.getElementById("load-bar").style.display= 'none'; },
undefined
}
);
}
}
谁能帮我找到解决办法?
【问题讨论】:
标签: javascript three.js