Está en la página 1de 4

Comunicación

entre objetos
Jordi Linares Pellicer
Comunicación entre objetos
✤ Existen muchas formas de comunicarse entre objetos, entre algunas:

✤ De forma explícita, mediante una variable pública en un script asociado a un objeto


del tipo GameObject (o Transform) en la que se arrastre en el editor otro objeto (o se
le busque por scripting)
✤ Mediante transform.Find(“nombre GameObject”), que buscará dentro de su
jerarquía
✤ Accediendo a todos mis hijos: foreach (Transform child in transform) { ... }
✤ Mediante GameObject.Find(“nombre GameObject”), que buscará objetos activos
con ese nombre. Resulta más eficiente GameObject.FindWithTag(“tag”).
✤ A partir de la consecución del objeto, podemos acceder a cualquiera de sus
componentes, incluidos scripts, mediante GetComponent
✤ Es muy recomendable llevar a cabo la búsqueda y enlace con los GameObject y
scripts que nos interese (para intercambio de información o llamada cruzada de
métodos, por ejemplo) en el Start() o Awake(), cacheando en variables propias estos
enlaces (no hacer búsquedas en funciones tipo Update)
✤ Mediante el uso de SendMessage, BroadcastMessage

Desarrollo de juegos con UNITY – Jordi Linares Pellicer


Comunicación entre objetos
✤ Con SendMessage puedo ejecutar un método de cualquier script que un
GameObject en concreto tenga asociado
✤ Con BroadcastMessage puede ejecutar un método de cualquier script que un
GameObject en concreto tenga asociado y también lo hará para los objetos hijos
que puedan tener en sus scripts este mismo método

Desarrollo de juegos con UNITY – Jordi Linares Pellicer


Comunicación
entre objetos
Jordi Linares Pellicer

También podría gustarte