[英]Accessing container gameObject from component gameObject
我创建了一个GameObject
,并将其命名为“ sensor”。 然后,我向传感器添加了BoxCollider
和脚本(script_sensor)。
然后,我创建了另一个GameObject
,并将其命名为“ taxi”。 我在出租车上添加了一个脚本(script_taxi),并在该脚本中创建了一个公共Collider2D
。
然后,我将传感器GameObject
分配给出租车的公共Collider2D
。
而现在,我想访问script_taxi
从script_sensor
。
基本上,我如何从script_sensor
(框2)访问script_taxi
(图像上的框1)?
附言:当我向出租车预制件发送垃圾邮件时,每个传感器对象都应该能够找到它自己的容器gameobject(taxi)。
如果要从script_sensor
访问script_taxi
,则需要在script_sensor
对script_taxi
某种类型的引用。 然后,您可以使用GetComponent
。 您还可以使用GameObject.Find
的变体,但是这些调用可能会很昂贵。
public class script_sensor : MonoBehavior {
[SerializeField]
private GameObject taxi;
private script_taxi taxiScript;
void Start() {
taxiScript = taxi.GetComponent<script_taxi>();
}
}
另外,建议遵循C#命名约定 。
script_sensor => Sensor
script_taxi => Taxi
public Collider2D col; => [SerializeField] private Collider2D col;
或使用GameObject.Find()查找出租车的GameObject,如下所示:
script_taxi taxi;
void Awake()
{
taxi = GameObject.FindWith("taxi").GetComponent<script_taxi>();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.