मुझे ईवेंट सीमाओं के बाहर ऑब्जेक्ट तक पहुंचने में कोई समस्या है। यदि मैं ऑब्जेक्ट को एक सरणी में डालता हूं और चेकआउट जो सरणी सरणी भी खाली है, लेकिन घटना के दायरे में यह पूर्ण है। मुझे यह जानने की ज़रूरत है कि मैं ईवेंट स्कोप के बाहर ऑब्जेक्ट को कैसे एक्सेस कर सकता हूं।THREE.js ओबीजे लोडर ऑब्जेक्ट्स
for (var i = 0; i < 19; i++){
var loader = new THREE.OBJMTLLoader();
loader.addEventListener('load', function (event) {
var tree = event.content;
myWorld.setWorldTreePosition(multiplier);
tree.position.y = 0;
tree.position.x = myWorld.myTreePosition.position.x;
tree.position.z = myWorld.myTreePosition.position.z;
tree.rotation.x = -(Math.PI/2);
tree.scale.set(10,5,5);
scene.add(tree);
collidableMeshList2.push(tree);
tree.castShadow = true;
//collidableMeshList.push(tree);
multiplier += 500;
console.log(collidableMeshList2); // here it is full of trees.
}
);
loader.load('obj/Palm_Tree.obj', 'obj/Palm_Tree.mtl');
//outside this all becomes empty.
console.log(collidableMeshList2); // here is list is empty but I don't know why.
आपको कम से कम लूप की फ़ाइल लाइन को इसके बाहर ले जाना चाहिए। आप कई श्रोताओं को एक लोडर में जोड़ सकते हैं जो मुझे लगता है लेकिन यदि आप लूप में ऑब्जेक्ट को फिर से परिभाषित करते हैं, तो यह हर बार बदल जाएगा। इस के साथ सवाल अपडेट करें ताकि आपको बेहतर प्रतिक्रिया मिल सके। – recluze