首页 文章

实例化已应用脚本的GameObject

提问于
浏览
0

相当新的Unity,但很快学习 .

我有一个spawner,它是一个空的GameObject,它会产生气球 . 产生的气球对象应用了遵循航点的运动脚本 .

我遇到的问题是我无法点击并将路标(也是空的游戏对象)拖到公共变量上,我只能在气球已经添加到游戏层次结构中时才这样做,但我正在产生应用脚本的预制件,因为我不希望它在游戏中 . 如果我首先将预制件添加到游戏中,我可以将路标设置为游戏对象 .

我如何解决这个问题,以便我能够将航点游戏对象添加到资产中的预制件中?

1 回答

  • 2

    您可以在移动脚本中使用此方法:

    public void SetWayPoints(Transform[] waypoints)
    {
        this.wayPoints = waypoints;
    }
    

    当你实例化你的预制件时,只需获得组件并设置方式点;

    GameObject baloon = Instantiate(baloonPrefab) as GameObject;
    var movementScript = baloon.GetComponent<Movement>();
    if(movementScript != null)
    {
        movementScript.SetWayPoints(waypoints);
    }
    

    请注意,上面的代码只是一个例子来说明这样做的方法 . 您的脚本可能会根据您的航点的实施而有所不同 . 我假设waypoints是一个运动脚本中的变换数组,baloon一个接一个地跟着它 . spawner类还在层次结构中引用了路径点,您只需从spawner传递该数组 .

    希望这可以帮助 . 如果您有任何问题,请告诉我 .

相关问题