我已经在场景中实例化了一个预制件,它在2秒后被摧毁。我想在其移动脚本中更改其speed变量,以便在实例化时它具有新的速度。
答案 0 :(得分:2)
实例化函数返回您创建的游戏对象。
GameObject prefabObject = Instantiate(...);
然后你可以做一些像
这样的事情prefabObject.GetComponent<moveScript>().speed = 4;
答案 1 :(得分:0)
您没有提供足够的信息,但我会尝试回答。
这是否可以通过另一个脚本或您在预制件上附加的移动脚本来完成?
如果来自Move脚本,那么:
private void Awake()
{
speed = MY_NEW_SPEED;
}
如果来自另一个脚本,那么首先需要访问实例化对象,然后访问其Move脚本。您没有提供足够的信息,所以我假设您已经有了对实例化对象的引用:
instantiatedObject.GetComponent<Move>().speed = MY_NEW_SPEED;
https://docs.unity3d.com/ScriptReference/GameObject.GetComponent.html