‫Hola y bienvenido.
‫En esta lección, veremos una función especial llamada constructor que nos permite dar
‫valores predeterminados a las propiedades de nuestra clase.
‫Y veremos cuando se llama en el editor.
‫Vamos a sumergirnos y averiguarlo.
‫Ahora, con este componente desencadenante, me gustaría agregar una función de componente de marca
‫aquí para que podamos verificar qué componentes, qué otros actores se superponen actualmente a este componente desencadenante
‫y podemos activar si es el tipo correcto de actor.
‫El problema es, bueno, veremos cuál es el problema.
‫Probemos e implementemos una función de marca si vamos a la captura en relación para ver cómo debería verse la
‫declaración de una función de componente, debe estar en la sección pública.
‫Es un vacío virtual, componentes de tictac, tiempo delta.
‫Hay muchos parámetros, así que copiémoslo.
‫Vaya al encabezado del componente de marca, agréguelo debajo de nuestra reproducción inicial y luego copiaremos esa
‫definición, la llevaremos a nuestro paso del componente de activación.
‫Y una cosa que notará es que hay un par de palabras clave aquí que podemos eliminar.
‫Podemos eliminar la palabra clave virtual.
‫Esa es generalmente una regla que podemos seguir.
‫También podemos eliminar la palabra clave anular.
‫Estas son cosas que no necesitan estar en el archivo C++.
‫Necesitamos agregar el nombre de la clase.
‫Así que prueba un componente de dos puntos, dos puntos, y luego reemplazamos nuestro punto y coma con algunas llaves y
‫necesitamos hacer la llamada al componente supertick.
‫Como es una llamada bastante larga, voy a copiarla y tomar una copia y pegarla en esta.
‫Ahora, lo que esto está haciendo es esencialmente llamar a la función del componente de marca del padre.
‫Entonces, el padre en este caso es nuestro componente de caja.
‫Por lo tanto, es importante llamarlo en caso de que haya alguna funcionalidad que deba usarse y habilitarse para que
‫este componente funcione.
‫Si no hacemos eso, esencialmente estamos pasando por alto cualquiera de esas funciones y las cosas pueden fallar.
‫Muy importante.
‫Recuerde siempre que es una llamada a super cuando estamos implementando el componente de inicio, reproducción y marcación.
‫Ahora copiemos nuestro mensaje de registro de Begin Play y colóquelo en el componente de marca en lugar de decir componente de
‫marca.
‫Iniciando sesión para decir que el componente tick está funcionando aquí y vamos a seguir adelante y compilar y ver si
‫ese tick realmente funciona.
‫Una vez que el compilador haya terminado, sigamos adelante y presionemos reproducir, abramos nuestro registro de salida y.
‫Hmm, bueno, nada parece estar pasando ahora.
‫La razón de esto es que, en términos de optimización, automáticamente la mayoría de los componentes no reales
‫tienen su marca desactivada.
‫Por lo tanto, los actores generalmente lo tienen activado de manera predeterminada, pero los componentes generalmente lo tienen desactivado.
‫Entonces, de hecho, si observamos algunos de los otros componentes que tenemos, como nuestro movimiento que sabemos que marcar
‫funciona para usted, puede ver que en la parte superior del archivo está esto.
‫Mueve una función y tiene este componente principal, el punto B puede marcar igual a verdadero si no
‫establece esta propiedad en la clase.
‫Entonces, esta es una propiedad de la clase como una propiedad del componente primario clásico tick y es una
‫estructura que tiene una B puede tener una propiedad tick dentro de ella.
‫Entonces, lo que estamos haciendo aquí es establecer este valor predeterminado en la clase de movimiento cuando la construimos.
‫Eso es lo que es esta función.
‫Se llama constructor y es una función que se llama cada vez que creamos un nuevo componente de movimiento
‫para establecer automáticamente los valores predeterminados.
‫Podemos establecer algunos valores predeterminados en el encabezado del archivo como lo hemos hecho con el tiempo de movimiento.
‫Pero la alternativa a hacerlo siempre en el archivo de encabezado es que podemos establecer estas propiedades en
‫el constructor.
‫Ahora me gustaría que notara la sintaxis aquí.
‫Si pasamos al avance del archivo, puede ver que un constructor se llama exactamente igual que
‫la clase.
‫Por lo tanto, you mover es el nombre de la clase de nuestros componentes move y su constructor también se llama aviso you
‫move.
‫Tampoco tiene tipo de retorno.
‫No tiene sentido devolver nada porque estamos construyendo un nuevo objeto.
‫Solo estamos haciendo que esta clase suceda.
‫Entonces, todo lo que necesitamos es acceder a las propiedades de esta clase y también notar que está configurada como pública.
‫Así que está en la sección pública de nuestra definición de clase.
‫Así que me gustaría desafiarte a que habilites el tictac por ti mismo.
‫Así que vas a crear un constructor en el encabezado y teniendo en cuenta la sintaxis que
‫hemos visto tanto en las películas de movimiento o H como en el capturador H, vas a habilitar el tictac, como hemos visto nuevamente.
‫en esos otros componentes en sus archivos CP.
‫Así que puedes copiar cómo se está haciendo eso.
‫También puede iniciar sesión desde el constructor para intentar ver cuándo se llama.
‫¿Es como empezar a jugar?
‫¿O lo llaman antes de estar en juego o qué?
‫Ve y publica un video y pruébalo.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que vamos a entrar a nuestro componente trigonométrico en H para crear una nueva sección pública.
‫Y aquí estamos recordando los dos puntos al final y luego necesitamos llamarlo exactamente igual que la
‫clase.
‫Así que ese no es el componente disparador.
‫No es usted el disparador, es el disparador de los componentes en su totalidad.
‫Y luego no tenemos ningún argumento en este constructor, así que solo ponemos paréntesis vacíos y luego un punto y coma
‫al final de la línea.
‫Ahora podemos ir al archivo CPP y podemos hacer la implementación aquí.
‫Nuevamente, no necesitamos un tipo de retorno.
‫Así que son solo tus componentes desencadenantes, el colon.
‫Dos puntos activas los componentes un poco repetitivos, pero así es como funciona.
‫Luego ponemos algunas llaves y aquí podemos hacer cualquiera de nuestro código de configuración para dar los valores predeterminados a la
‫instancia de la clase.
‫Entonces, si vamos a agarrar un CPP y echamos un vistazo a lo que está haciendo, puede ver
‫que tiene su componente principal, el punto tecnológico B puede tomarlo como verdadero.
‫Así que escribamos eso.
‫El componente principal tick dot B puede marcar B es solo un prefijo que usamos a menudo cuando las cosas tienen
‫un tipo booleano establecido igual a verdadero con una t minúscula.
‫Entonces, debido a que los cambios en un constructor no siempre se propagan correctamente en la codificación en vivo, voy a
‫cerrar el editor.
‫Voy a reconstruir desde dentro del código de Visual Studio, luego voy a reiniciar desde el nuevo archivo de
‫proyecto.
‫Cuando termine, seguiré adelante y presionaré reproducir, echaré un vistazo a nuestro registro de salida.
‫Y, por supuesto, podemos ver que el componente de activación está funcionando.
‫Así que voy a eliminar ese mensaje de registro porque es molesto y cerré el registro de salida en
‫el código de Visual Studio, elimine este mensaje de registro en el componente de marca.
‫Podemos ver que está funcionando ahora.
‫Y lo que queríamos hacer es iniciar sesión en nuestro constructor.
‫Entonces, hagamos un nuevo registro que diga "construcción", veamos si la codificación en vivo puede detectarlo esta vez y luego vamos a
‫ir a nuestro registro de salida y echar un vistazo de inmediato.
‫Aquí no aparece nada.
‫Bueno, si sigo adelante y presiono reproducir, eche un vistazo a mi registro de salida.
‫Puedo ver el mensaje de registro de que el componente desencadenante está vivo y mucho antes de esto.
‫En realidad, puedes ver que está construyendo mucho más adelante cuando solo está creando el mundo.
‫Comienza a construirse muy temprano, obviamente antes de comenzar a jugar porque necesitamos tener todo el mundo listo antes
‫de comenzar a jugar.
‫Ocurre cuando le damos al play, pero en realidad también ocurre en el editor.
‫Entonces, si selecciono algún actor aquí y luego le agrego un componente y agrego nuestro disparador, luego mire mi
‫registro de salida.
‫Luego puede ver que el mensaje de construcción se imprimió.
‫Por lo tanto, debemos tener cuidado con lo que hacemos en nuestros constructores porque en realidad se les llama, el código C++
‫se llama justo cuando estamos editando, ni siquiera jugando nuestro juego.
‫Estos objetos se están creando y, por lo tanto, configurando y, por lo tanto, necesitan llamar a su constructor.
‫Seguiré adelante y eliminaré el activador nuevamente y aclararé un poco eliminando, construyendo el mensaje de
‫registro y nuestro mensaje de registro de inicio de reproducción también.
‫Buena cosa.
‫Así que en esta lección hemos visto cómo podemos configurar nuestros propios componentes para que sean casi idénticos a los creados
‫en las plantillas para componentes de escena y componentes ACT.
‫Hemos visto cómo usar un constructor para dar valores predeterminados a las propiedades de nuestra clase.
‫Te veré en la próxima conferencia.