¡Una breve descripción del uso de SendMessage de Unity, y SendMessage no tiene receptor! Error de corrección

Brief Description Unity S Sendmessage Usage

Cuando estaba estudiando el desarrollo de proyectos de Unity, el SendMessage que usaba a menudo tenía los siguientes errores.
es: SendMessage no tiene receptor!

** Primero que nada, primero entendemos la causa del error: ** Como su nombre lo indica, el mensaje enviado no tiene receptor. La analogía es suponer que define un objeto A, pero cuando A desencadena un evento, debe llamar al objeto B El método que tiene, primero debe encontrar B y luego ir a SendMessage, de la siguiente manera:
A continuación, se muestra un ejemplo en el que se informará de un error.

|_+_|

Aquí hay un ejemplo del uso de GameObject.Find (). Enviar mensaje



|_+_|

La segunda solución es usar SendMessageOptions.DontRequireReceiver
No es necesario tener destinatarios. No importa si ningún objeto recibe el mensaje



Primero comprendamos los escenarios de uso y el uso de SendMessage, SendMessageUpwards y BroadcastMessage.

** SendMessage: ** enviará un mensaje a todos los scripts de Monobehavior en el objeto del juego, el contenido enviado es:

SendMessage ('nombre de la función', parámetros, si debe haber un método de recepción).
1. El primer parámetro (nombre de la función) se refiere al nombre del mensaje que se va a pasar. Se llamarán todos los métodos del script Monobehavior del objeto del juego con el mismo nombre.
2. El segundo parámetro se refiere al parámetro que debe pasar el método, que puede ser nulo.
3. El tercer parámetro se refiere a si debe haber un método de recepción y SendMessageOptions.RequireReceiver debe tener un método de recepción.
SendMessageOptions.DontRequireReceiver no requiere un método de recepción.



el código se muestra a continuación:

|_+_|

** SendMessageUpwards: ** enviará mensajes a todos los scripts de Monobehavior en el objeto del juego y el objeto del juego principal. Resumido para enviar hacia arriba. El uso es similar al anterior.

** BroadcastMessage: ** Los mensajes se enviarán a todos los scripts de Monobehavior en el objeto del juego y los objetos secundarios del juego. Resumido como envío. El uso es similar al anterior.