質問: new Array(); for(i=0;i
回答: 基本的にループ処理ではなく、イベントドリブンな処理にすると整理できます。 ここで言うイベントドリブンは、一つのファイルのロードが完了したら、それをトリガーとして次のファイルのロードを開始する、というのを繰り返すことで、すべてのファイルをロードする、という意味です。 例えば以下のように書くことができます。 ``` var model_files = ['model1.json', 'model2.json', 'model3.json']; var model_file_index = 0; var models = []; function loadNextModel() { var filename; if (model_file_index < model_files.length) { filename = model_files[model_file_index]; models.push({file: filename, model: new C_Model()}); models[model_file_index].model.Load_Model(filename); model_file_index++; } else { console.log('全ファイルロード完了!'); } } loadNextModel(); // 一つ目のファイルのロードを開始する ``` まず、ループ処理を上記のように修正し、C_Model.prototype.Callback() を以下のように改造します。 ``` C_Model.prototype.Collback = function(Geometory, Material) { this.Geometory = Geometory; this.Material = new THREE.MeshFaceMaterial(Material); loadNextModel(); // 次のモデルデータをロードする }; ``` ご参考になれば。