我知道如何访问脚本但不知道如何从不同的游戏对象访问脚本?例如:
我有一辆名为" Vehicle1"和代码:
CarScript driveScript;
driveScript = GameObject.Find ("Vehicle1").GetComponent<CarScript > ();
这样我就可以从Vehicle1访问CarScript,但如何使用相同的脚本访问它,但如果另一辆车的名称是&#34; Vehicle2&#34;?我知道,自Unity 5以来,这是一种方法,但如果有多个对象可供访问,则不确定如何访问脚本。
任何帮助将不胜感激!
答案 0 :(得分:0)
您希望Vehicle1
检查isDriving
上的Vehicle2
吗? Vehicle1
是否引用了GameObject
的{{1}}?如果是这样,您可以创建一个脚本变量并从Vehicle2
Vehicle2's GameObject
scriptName vehicle2Script = vehicle2Obj.GetComponent<scriptName>();
if (vehcile2Script.isDriving).........
是包含scriptName
isDriving
是对vehicle2Obj
GameObject
的引用
答案 1 :(得分:0)
根据我的理解,您希望访问所有具有相同组件的不同GameObjects
,但如果它们的名称不同,则会执行不同的操作吗?
如果是这种情况,请尝试:
CarScript[] carScripts = FindObjectsOfType<CarScript>();
foreach(CarScript carScript in carScripts)
{
if(carScript.gameObject.name == "Vehicle1")
print("I am vehicle 1!")
if(carScript.gameObject.name == "Vehicle2")
print("I am vehicle 2!")
}
答案 2 :(得分:0)
如果您想获得许多类似的对象并使用类似kafka-clients
的内容,则需要使用GameObject.Find()
。
因此,您将拥有“Vehicle”标签,并且许多具有不同名称的对象必须使用选定的标签“Vehicle”。
GameObject.FindGameObjectsWithTag()