49. CLASE MONOBEHAVIOUR (y IX)










OnApplicationPause:

function OnApplicationPause (pause : boolean) : void


Es enviada a todos los gameobjects cuando el jugador presiona la pausa.


OnApplicationFocus:

function OnApplicationFocus (focus : boolean) : void


Función enviada a todos los gameobjects cuando el jugador obtiene o pierde el foco.


OnApplicationQuit:

function OnApplicationQuit () : void


Función que se envía a todos los gameobjects antes de que la aplicación se cierre. En el editor es llamada cuando el usuario detiene el play, en la web es llamada cuando la página se cierra.


OnPlayerConnected:

function OnPlayerConnected (player : NetworkPlayer) : void


Es llamada en el servidor cada vez que un nuevo jugador se conecta con éxito.

Esta función y las que relacionaremos a continuación las trataremos en profundidad la función Network y familia.


OnServerInitialized:

function OnServerInitialized () : void


Llamada en el server cada vez que Network.InitializeServer es invocada y completada.


OnConnectedToServer:

function OnConnectedToServer () : void


Es llamada esta función en el cliente cuando consigues conectarte con éxito al servidor.


OnPlayerDisconnected:

function OnPlayerDisconnected (player : NetworkPlayer) : void


Llamada en el server cada vez que un jugador se desconecta del server.


OnDisconnectedFromServer:

function OnDisconnectedFromServer (mode : NetworkDisconnection) : void


Llamada en el cliente cuando la conexión se pierde o desconectas del servidor.


OnFailedToConnect:

function OnFailedToConnect (error : NetworkConnectionError) : void


Llamada en el cliente cuando un intento de conexión falla por alguna razón. La razón por la que falla es pasada como una enumeración de tipo Network.ConnectionError.


OnFailedToConnectToMasterServer:

function OnFailedToConnectToMasterServer (error : NetworkConnectionError) : void


Llamada en clientes o servidores cuando hay un problema conectando con el MasterServer. La razón del error es pasada como una enumeración de tipo Network.ConnectionError.


OnMasterServerEvent:

function OnMasterServerEvent (msEvent : MasterServerEvent) : void


Llamada en clientes o servidores cuando informan de eventos desde el MasterServer, como por ejemplo que haya tenido éxito el registro en el host.

El tipo MasterServerEvent es una enum con los siguientes valores:

RegistrationFailedGameName: El registro falló porque se indicó un nombre de juego
vacío.
RegistrationFailedGameType: El registro falló porque se indicó un tipo vacío de
juego.
RegistrationFailedNoServer: El registro falló porque ningún servidor está
funcionando.
RegistrationSucceeded: El registro al servidor maestro tuvo éxito, y se recibió
confirmación.
HostListReceived: Recibida una lista de hosts desde el master server.



OnNetworkInstantiate:

Function OnNetworkInstantiate (info : NetworkMessageInfo) : void


Llamada en objetos que han sido instanciados en red con Network.Instantiate. Esto es útil para deshabilitar o habilitar componentes de objetos los cuales han sido instanciados y su comportamiento depende de si ellos son de propiedad local o remota.


OnSerializeNetworkView:

function OnSerializeNetworkView (stream : BitStream, info : NetworkMessageInfo) : void


Usada para personalizar la sincronización de variables en un script controlado por una network view. Esto es automáticamente determinado si las variables que han sido serializadas deben ser enviadas o recibidas.



POSTED BY UnityScripts
DISCUSSION 0 Comments

48. CLASE MONOBEHAVIOUR (VIII)










OnGUI:

function OnGUI () : void


Es llamada para renderizar y manejar eventos GUI. Esto significa que nuestra implementación de OnGUI podría ser llamada varias veces por frame, a razón de una llamada por evento. Esto lo trabajaremos más cuando estudiemos las clases Event y GUI.


OnRenderImage:

function OnRenderImage (source : RenderTexture, destination : RenderTexture) : void


Es llamada cuando se tiene toda la información de renderizado de una imagen, permitiendo modificar la imagen final procesándola con filtros.

La imagen entrante (source) es de tipo renderTexture y el resultado lo almacenamos en otro parámetro del mismo tipo (destination en el prototipo de la función). Cuando hay múltiples filtros de imagen vinculados a la cámara, estos procesan la imagen secuencialmente, pasando el primer filter destination como source del siguiente filtro.

Este mensaje será enviado a todos los scripts vinculados a la cámara.


OnDrawGizmosSelected:

function OnDrawGizmosSelected () : void


Implementa esta function si quieres dibujar gizmos sólo si el objeto está seleccionado.

Vamos a verlo con un ejemplo simple. Es necesario para ver el efecto que previo a darle al play el cubo no esté seleccionado.


function OnDrawGizmosSelected () {
Gizmos.color = Color.white;
Gizmos.DrawCube (transform.position, Vector3 (2,2,2));
}


No nos fijemos demasiado en los elementos de la clase Gizmos, que ya veremos en su momento. De momento sólo necesitamos saber que , cuando se seleccione el cubo -bien en la jerarquía, bien en la escena, bien con el juego activado o incluso sin que el juego esté activado- nos aparecerá un gizmo que se corresponderá a un cubo blanco de 2 unidades de lado.

Probémoslo.


OnDrawGizmos:

function OnDrawGizmos () : void


Implementa esta función si quieres dibujar gizmos que aparezcan siempre dibujados. Esto te permite rápidamente seleccionar objetos importantes en tu escena, por ejemplo. Notad que esta función usa una posición del ratón que es relativa a la vista de la escena.

Para mostrar esto en un ejemplo necesitamos unos pasos previos:


1.- Buscad por la red la imagen de una bombilla (no demasiado grande).
2.- La guardáis y le asignáis el nombre "Bombilla" (Fijaros en la extensión de la
imagen. Si es distinta de la que voy a utilizar yo, cambiadla en el script)
3.- Buscáis la carpeta de nuestro proyecto Unity, y arrastráis la imagen dentro de
la carpeta assets.
4.- En la interfaz, hacemos click derecho sobre Proyecto =>Create =>Folder.
Llamamos a la nueva carpeta Gizmos (es donde por defecto buscará Unity)
5.- En Proyecto, arrastramos la imagen dentro de esta carpeta.
6.- Doble click sobre MiPrimerScript. Tecleamos:


function Update(){
transform.Translate(-Vector3.right * Time.deltaTime);
}

function OnDrawGizmos() {
Gizmos.DrawIcon (transform.position + Vector3(0,5,0) , "Bombilla.jpeg");
}


Si hemos seguido correctamente estos pasos, cubo e imagen deberían desplazarse al unísono hacia la izquierda, tal que así:

POSTED BY UnityScripts
DISCUSSION 0 Comments

47. CLASE MONOBEHAVIOUR (VII)










OnBecameVisible:

function OnBecameVisible () : void


Se llama a esta función cuando el renderer se convierte en visible por alguna cámara. Este mensaje se envía a todos los scripts relacionados con el renderer. Esta función y su opuesta –OnBecameInvisible- son útiles para evitar cómputos que son sólo necesarios cuando el objeto es visible.


OnBecameInvisible:

function OnBecameInvisible () : void


Es llamada cuando el renderer ya no es visible por ninguna cámara.


OnLevelWasLoaded:

function OnLevelWasLoaded (level : int) : void


Esta función es llamada después de que un nuevo level ha sido cargado. El parámetro level de la función es el level que ha sido cargado. Si quiere ver el índice de levels de su juego, use el menú File=>Build settings.


OnEnable:

function OnEnable () : void


Es llamada cuando el objeto pasa a estar habilitado y activo.


OnDisable:

function OnDisable () : void


Es llamada cuando el objeto se convierte en deshabilitado o inactivo. También cuando el objeto es destruido y puede ser usada la función para procesos de limpieza. Cuando los scripts son recargados después de que la compilación haya acabado, OnDisable se llamará seguida por OnEnable después de que el script haya sido cargado.


OnDestroy:

function OnDestroy () : void


Es llamada cuando el MonoBehaviour (script) es destruido. Sólo puede ser llamada para gameobjects que previamente hayan estado activos.


OnPreCull:

function OnPreCull () : void


Es llamada antes de que la cámara deseche la escena. Culling es un proceso que determina qué objetos son visibles en la cámara, y OnPreCull es llamada justo antes de dicho proceso.

Esta function es llamada sólo si el script está vinculado con la cámara y está activado. Si queremos cambiar los parámetros de visión de la cámara (tal como fieldOfView) lo tendremos que hacer aquí. La visibilidad de los objetos de la escena se determinará en base a los parámetros de la cámara después de la función OnPreCull.


OnPreRender:

function OnPreRender () : void


Es llamada antes de que la cámara empiece a renderizar la escena. Sólo se llama si el script está vinculado a la cámara y activo.

Es importante comprender que si cambiamos con esta función los parámetros de visión de la cámara, como por ejemplo fieldOfView, sólo tendrán efecto el siguiente frame, por lo que hay que hacerlo mejor en la función OnPreCull, como hemos dicho antes.


OnPostRender:

function OnPostRender () : void


Es llamada después de que la cámara acaba de renderizar la escena, siempre que el script esté vinculado con la cámara y activo.


OnRenderObject:

function OnRenderObject () : void


Es llamada después de que la cámara renderiza la escena. Se diferencia de OnPostRender en que OnRenderObject es llamada para cada objeto que tenga un script con la función, sin importar si está vinculado a una cámara o no.


OnWillRenderObject:

function OnWillRenderObject () : void


Esta función es llamada una vez por cada cámara si el objeto es visible. Es llamada durante el proceso de culling (que podríamos traducir por elección o desechamiento), justo antes de renderizar todos los objetos seleccionados. Podría usarse por tanto esta función para crear texturas que pudieran actualizarse sólo si el objeto a renderizar es en realidad visible.

POSTED BY UnityScripts
DISCUSSION 0 Comments
Con la tecnología de Blogger.