sábado, 8 de febrero de 2014

Unity3D Scripting: Monobehaviour

Este tutorial es mas bien breve pero importantísimo para aprender a usar el máximo potencial de un script en Unity3D.

Aquí mostraré todos los eventos y para que sirve cada uno de ellos dentro de un script básico de Unity3D.

Los scripts de Unity3D, por defecto heredan de la clase MonoBehaviour, en Javascript lo hace de forma automática, en C# y Boo hay que especificarlo aunque al crear un script desde Unity3D, por defecto vendrá heredando de esta clase la cual tiene muchísimos eventos que podemos utilizar en nuestro script, vamos a dar un repaso a cada uno de ellos.



En primer lugar destacaremos como usar cada evento, sería tan sencillo como

void Evento(Valores internos)
{
    //Código si entra en el evento
}


EventoDescripción
Awake
Awake es llamado cuando va a empezar a cargar el script.
FixedUpdate
Este evento se llama una vez cada frame.
LateUpdate
Este evento es llamado después de los eventos Update.
OnAnimatorIK
Es llamado por el componente Animator inmediantemente antes de los updates internos de la cinemática inversa.
OnAnimatorMove
se invocan en cada frame después de evaluar los estados y las animaciones antes de OnAnimatorIK.
OnApplicationFocus
Este evento se ejecuta mientras la aplicación tenga el foco.
OnApplicationPause
Este evento se ejecuta mientras la aplicación esté en pausa.
OnApplicationQuit
Este evento se hace justo antes de cerrar la aplicación.
OnAudioFilterRead
Si OnAudioFilterRead es implementado, Unity insertará un filtro de audio en DSP.
OnBecameInvisible
Este evento es llamado mientras el renderer no es visible por ninguna cámara.
OnBecameVisible
Este evento es llamado mientras el renderer es visible por alguna cámara.
OnCollisionEnter
Este evento es llamado mientras el Collider o Rigidbody del objeto choca con otro Collider o Rigidbody.
OnCollisionEnter2D
Igual que OnCollisionEnter pero con física 2D.
OnCollisionExit
Este evento es llamado cuando el Collider o Rigidbody del objeto deja de chocar con otro Collider o Rigidbody.
OnCollisionExit2D
Igual que OnCollisionExit pero con física 2D.
OnCollisionStay
Este evento es llamado cuando el Collider o Rigidbody del objeto está chocando con otro Collider o Rigidbody.
OnCollisionStay2D
Igual que OnCollisionStay pero con física 2D.
OnConnectedToServer
Este evento es llamado cuando la aplicación conecta correctamente con un servidor.
OnControllerColliderHit
Este evento es llamado cuando el controlador golpea un collider mientras está en movimiento.
OnDestroy
Este evento es llamado antes de destruir el componente del objeto o el mismo objeto que contiene este script.
OnDisable
Este evento es llamado antes de deshabilitar el componente del objeto o el mismo objeto que contiene este script.
OnDisconnectedFromServer
Este evento es llamado cuando la aplicación pierde la conexión con un servidor.
OnDrawGizmos
Este evento se disparará mientras se dibujen gizmos.
OnDrawGizmosSelected
Este evento se dispara al haber un gizmo dibujado seleccionado.
OnEnable
Este evento es llamado al habilitar el componente del objeto o el mismo objeto que contiene este script.
OnFailedToConnect
Este evento es llamado cuando la aplicación falla al conectar con un servidor.
OnFailedToConnectToMasterServer
Este evento es llamado cuando la aplicación falla al conectar con un servidor maestro.
OnGUI
Este evento es llamado para renderizar el GUI del usuario.
OnJointBreak
Este evento es llamado al dejar de aplicar fuerza a un objeto.
OnLevelWasLoaded
Este evento es llamado una vez que ha cargado todo el nivel.
OnMasterServerEvent
Este evento es llamado cuando el servidor maestro lanza un evento.
OnMouseDown
Este evento es llamado cuando el ratón pulsa encima de un collider o un elemento de la interfaz.
OnMouseDrag
Este evento es llamado cuando el ratón pulsa encima de un collider o un elemento de la interfaz y se mantiene pulsado.
OnMouseEnter
Este evento es llamado cuando el ratón entra en contacto con un collider o un elemento de la interfaz.
OnMouseExit
Este evento es llamado cuando el ratón deja de estar en contacto con un collider o un elemento de la interfaz.
OnMouseOver
Este evento es llamado cuando el ratón está encima de un collider o un elemento de la interfaz.
OnMouseUp
Este evento es llamado cuando deja de pulsar un botón del ratón.
OnMouseUpAsButton
Este evento es llamado cuando deja de pulsar un botón del ratón encima de un collider o elemento de la interfaz.
OnNetworkInstantiate
Este evento es llamado por el objeto que haya instanciado una conexión a través de Network.Instantiate.
OnParticleCollision
Este evento es llamado al colisionar con una partícula.
OnPlayerConnected
Este evento es llamado cuando un jugador se conecta al servidor.
OnPlayerDisconnected
Este evento es llamado cuando un jugador se desconecta al servidor.
OnPostRender
Este evento es llamado después de renderizar el frame por la cámara.
OnPreCull
Este evento es llamado antes de ver que objetos van a ser renderizados en la escena.
OnPreRender
Este evento es llamado antes de renderizar los objetos que se mostrarán en la cámara.
OnRenderImage
Este evento es llamado despues de haber completado el renderizado de una imagen.
OnRenderObject
Este evento es llamado despues de haber completado el renderizado de la escena.
OnSerializeNetworkView
Este evento se usa para personalizar la sincronización de variables en el script que interactuarán con la red.
OnServerInitialized
Este evento se lanzará cuando Network.InitializeServer esté invocado y finalizado.
OnTriggerEnter
Este evento es lanzado cuando el trigger colisione con un collider.
OnTriggerEnter2D
Este evento es lanzado cuando el trigger colisione con un collider2D.
OnTriggerExit
Este evento es lanzado cuando el trigger deje de colisionar con un collider.
OnTriggerExit2D
Este evento es lanzado cuando el trigger deje de colisionar con un collider2D.
OnTriggerStay
Este evento es lanzado cuando el trigger esté con un collider una vez por frame.
OnTriggerStay2D
Este evento es lanzado cuando el trigger esté con un collider2D una vez por frame.
OnValidate
Este evento es llamado cuando el script carga o el valor cambia en el inspector.
OnWillRenderObject
Este evento es llamado si el objeto es visible por la cámara.
Reset
Resetea a los valores inciales que tenía el inspector.
Start
Se ejecuta antes del primer update.
Update
Se ejecuta todos los frames de manera irregular.

Y hasta aquí todos los eventos del monobehaviour, poco a poco pondré ejemplos de varios de ellos.

6 comentarios:

  1. alguien me puede decir los pasos que debo seguir para reproducir nada, soy nueva, y no le entiendo muchon.. gracias se los agradeceria mucho

    ResponderEliminar
  2. tengo la 2018.3.11f1 y cuando quiero vincular un script de visual studio me dice que no se puede, que tiene que derivar de monobehaviour

    ResponderEliminar