所以我预装了一个附带c#脚本的预制件(ScriptA),然后我从另一个脚本(ScriptB)中实例化了这个预制件的一些GameObjects。
public class ScriptA : MonoBehaviour {
public int pos;
...
public class ScriptB : MonoBehaviour {
public GameObject prefab;
GameObject [] all;
......然后在某些时候创建了对象:
for (int i = 0; i < 10; i++){
Vector3 v = new Vector3(i, 0, 0);
v = v * 3;
GameObject newObject;
newObject = GameObject.Instantiate(prefab, v , Quaternion.identity);
all[i] = newObject;
}
所以我的问题:
是否使用每个预制对象创建了ScriptA的实例? 如果是这样,我如何访问它们及其属性?
答案 0 :(得分:3)
如果ScriptA
附加到实例化的预制件,您可以使用GameObject.GetComponent方法从中获取引用,例如:
ScriptA aInstance = newObject.GetComponent<ScriptA >();
int p = aInstnace.pos;
您可以在ScriptA
实例(aInstance
)上调用访问所需的属性或方法。