从其他脚本访问变量

Accessing variable from other script

如何从其他脚本组件调用变量?

mirror.transform.position = cop.GetComponent("AI_Car").mirrorPos;

似乎无法访问脚本AI-Car-script中声明的public变量carPos

'mirrorPos' is not a member of 'UnityEngine.Component'.

2 件事:

1) 我在 C# 中工作,所以我对此可能是错误的,但我认为您必须获取组件然后获取变量。例如:

var otherScript: OtherScript = GetComponent("AI_CAR"); 
var newPosition = otherScript.mirrorPos; 

2) 我认为最好先创建一个临时变量然后再访问它。所以在上面的例子中,我会像这样改变 mirror.transform.position:

mirror.transform.position = newPosition;

显然,在 vars 中工作并不总是很好(有时是,那是完全不同的对话),但这只是一个简单的伪代码示例。希望这对您有所帮助!

编辑:here 是文档

您可以将其转换为正确的类型:

mirror.transform.position = ((AI_Car)cop.GetComponent("AI_Car")).mirrorPos;
mirror.transform.position = cop.GetComponent<AI_Car>().mirrorPos;

无论如何,最好是制作一个 AI_Car 属性,然后在开始时获取它,这样您就可以通过 aiCar.mirrorPos 在 class 中的任何地方简单地阅读它或类似的。