Unity práctico: Videojuego 3D runner

Implementar una clase de gestión

¡Prueba gratis durante 10 días

nuestros 1270 cursos !

Prueba gratis Mostrar modalidades de suscripción
Para poder mantener datos y valores entre las clases, aprenderemos a crear una clase singleton que nos ayude a gestionar estos valores, ya que nos permitirá crear una instancia única de una clase para nuestro juego.

Transcripción

Vamos a crear una clase que nos permita gestionar el personaje con el escenario y la cámara y que se puedan comunicar entre ellos sin ningún problema. Voy a ir aquí a mi proyecto y dentro de 'scripts' voy a darle clic derecho, crear C sharp script. Mi clase se va a llamar 'SingletonController'. Si quieren revisar algo más sobre los conceptos de 'singleton' pueden buscar dentro de Wikipedia información al respecto. Una clase 'singleton' es aquella que se crea una sola vez y permite transmitir o mandar información entre varias clases, porque como se crea una sola vez yo guardo la información en esta clase y se almacena. Es una de las grandes ventajas, hay que tener mucho cuidado con el tema de la 'singleton', porque también consume mucha memoria si es que es mal aplicado, así que nada, vamos a empezar. Para empezar vamos a crear una variable privada del tipo estática. El tipo de esta variable va a ser el tipo de nuestra clase 'SingletonController' y la vamos a llamar 'singleton'. Voy a crear otra de tipo 'string' que va a contener el 'tag' de nuestro escenario al cual estamos ingresando. Y bueno, podemos reutilizar para muchas cosas y podemos crear varias propiedades según la necesidad de datos que queramos almacenar temporalmente. Vamos ahora a eliminar estos dos métodos porque no los vamos a utilizar y voy a crear un método público del tipo estático que va a retornar un 'SingletonController', o sea, la referencia de nuestro 'singleton' y vamos a hacer uno que se llame 'instance'. La idea es que le preguntemos si no existe el 'singleton'. Si no existe, la creamos. Y para eso vamos a buscar un objeto que sea del tipo 'SingletonController' y que se comporte... hacemos un 'casting', como un 'SingletonController'. Si aún así no existe, porque puede darse el caso, hacemos un pequeño 'print' de alerta. Necesitamos un "Falta el singleton". Si esto ya existe vamos a ir hasta acá y le decimos que retorne la referencia del 'singleton'. En cualquier clase vamos a poder hacer la referencia de nuestro 'singleton' sin ningún problema. Voy a crear un par de métodos públicos: "avísame cuando cambie la referencia del 'GameObject'. Le vamos a decir que el 'CurrentGameObject' va a ser igual a mi 'GameObject', así cuando nosotros avisemos desde una clase, vamos a pasarle la referencia y la guardaremos en nuestra variable o en nuestra propiedad de esta clase. Y por último también podemos devolver un 'string' 'getCurrent GameObject', que hacemos un 'return' al 'currentGameObject' como un 'string'. Entonces, con esta clase nosotros nos vamos a asegurar de poder transportar la información requerida entre algunas clases. Como les digo, el 'singleton' en general y en cualquier lenguaje de programación hay que manejarlo con mucho cuidado, porque puede causar un consumo interesante de memoria y perjudicar al juego en sí.

Unity práctico: Videojuego 3D runner

Crea un tipo de juego muy de moda a día de hoy, un runner en 3D. Emplea el trabajo de tu equipo de diseño y aprende a agregar la física e interacción del personaje con el entorno.

4:29 horas (43 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:9/09/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.