将值从一个脚本传递到另一个脚本而没有场景中的游戏对象

时间:2018-04-08 18:48:26

标签: c# unity3d parameter-passing

当层次结构中存在游戏对象时,我发现了很多关于将参数从一个脚本传递到另一个脚本的信息。我的问题是我的Transform对象是使用Instantiate(myPrefab)动态创建的。有没有办法从另一个脚本访问myPrefab游戏对象的位置?

1 个答案:

答案 0 :(得分:1)

在实例化后,您可以存储对实例化的GameObject的引用(请参阅下面的示例)。如果有更多GameObjects,请使用列表来存储它们。

拨打适合您的InstantiateGO()GetGOPosition()

public class YourClass: MonoBehaviour 
{
    public GameObject yourPrefab;
    public GameObject yourGameObject;

    // Use this for initialization
    void Start () 
    {

    }

    // Update is called once per frame
    void Update () 
    {

    }

    void InstantiateGO()
    {
        yourGameObject = Instantiate(yourPrefab); // assign the newly instantiated GameObject to yourGameObject 
    }

    void GetGOPosition()
    {
        var x = yourGameObject.position;
        //Do something here
    }
}