所以我只是从BabylonJS开始,我有一个变量要在名为createScene
的{{1}}函数中声明。我有一个函数,该函数从数组中获取对象并进行转换,然后使用它们用网格填充我的scene
(目标):
scene
let objectsFromArray = []
for(let i in sceneObjects){
let currentObject = sceneObjects[i];
let objectFunc = get(BABYLON, currentObject.path)
objectsFromArray.push(
objectFunc(...currentObject.params)
)
for(let action of Object.keys(currentObject.actions)){
objectsFromArray[i][action] = objectsFromArray.actions[action]
}
}
函数外部的数组,其中存储了所有通用对象/网格,如下所示:
createScene
在params数组的末尾注意let sceneObjects = [
{
path: "MeshBuilder.CreateBox",
params: [
"box",
{
width: 30,
height: 1
},
this["scene"] //<---- This is the issue
],
actions: {
position: new BABYLON.Vector3(0, -5, 3)
}
},
]
数组。这是因为我需要动态传递this["scene"]
函数中局部声明的scene
变量作为BabylonJS的目标,以知道将网格放置在何处。显然createScene
的目标是未定义的全局变量,而不是局部变量。如何动态定位在本地/范围内声明的变量?
P.S。很抱歉滥用术语/愚蠢,主要是出于业余爱好