访问附加到GameObject的类的属性

时间:2014-09-29 19:51:35

标签: c# unity3d

所以我预装了一个附带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的实例? 如果是这样,我如何访问它们及其属性?

1 个答案:

答案 0 :(得分:3)

如果ScriptA附加到实例化的预制件,您可以使用GameObject.GetComponent方法从中获取引用,例如:

ScriptA  aInstance = newObject.GetComponent<ScriptA >();
int p = aInstnace.pos;

您可以在ScriptA实例(aInstance)上调用访问所需的属性或方法。