【问题标题】:Access attributes of class attached to GameObject访问附加到 GameObject 的类的属性
【发布时间】:2014-09-30 04:49:20
【问题描述】:

所以我有一个带有 c# 脚本的预制件 (ScriptA),然后我从另一个脚本 (ScriptB) 实例化该预制件的多个游戏对象。

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 的实例? 如果是这样,我如何访问它们及其属性?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

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

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

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

    【讨论】:

    • 它太简单了,我觉得很愚蠢。我刚开始学习Unity。所以非常感谢! :)
    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 2013-09-16
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    相关资源
    最近更新 更多