2017-04-01 60 views
0

我有一个简单的问题。如何将动态数字传递给loader loader?谢谢!传递动态数字到加载器

var manager = new THREE.LoadingManager(); 
var loader = new THREE.TextureLoader(); 

for(var i=0; i<3; i++){ 
    loader.load(url[i], function (texture) { 
     console.log(i) 
     textures[i] = texture; 
    }); 
} 

// console.log(i) -> 3, 3, 3 
// i need   -> 0, 1, 2 

回答

1

如果使用ECMAScript 2015是一个选项,只是使用关键字let代替var在for循环:

for(let i=0; i<3; i++){ 
    ... 
} 

这将允许可变i块作用域代替功能范围为

对该行为的解释可以在this answer