‫Hola y bienvenido.
‫En esta lección, vamos a investigar el concepto de variables locales, variables que solo existen dentro
‫de una función dada.
‫Y vamos a ver cómo podemos usar esto para establecer nuestra ubicación en un valor diferente al almacenado
‫en mi vector.
‫Sumerjámonos.
‫Entonces, hasta este punto, hemos estado tratando con variables que pertenecen a una clase.
‫Hemos hecho esto en Blueprint y ahora lo hemos hecho en C++.
‫Y esto significa que la variable está viva mientras dure la instancia de la clase.
‫Cada instancia obtiene su propia copia de una variable, pero mientras la instancia de clase está viva, la variable es
‫dos.
‫Ahora, este concepto del que acabo de hablar tiene un nombre.
‫Se llama Alcance.
‫Lo que significa es ¿cuánto tiempo vive la variable?
‫Y acabo de describir una variable de instancia que es una variable que vive tanto como una instancia particular de
‫una clase.
‫Ahora también hay otros tipos de variables.
‫Hay variables que viven tanto como una función.
‫Básicamente, cuando llamas a una función en particular, esa función se ejecuta y tan pronto como la función
‫finaliza, la variable muere.
‫Entonces, en C ++, en términos generales, una variable es válida entre las llaves en la sintaxis.
‫Así que es una buena regla general.
‫No siempre es exactamente correcto, pero la función tick, por ejemplo, tenemos algunas
‫llaves aquí y si tuviéramos que declarar una variable dentro de esta función tick, entonces solo existiría una vez.
‫Se llama a la función tick y la próxima vez se creará de nuevo.
‫La plataforma móvil.
‫Si podemos ver eso, si echamos un vistazo a la plataforma en movimiento dot h, puede ver que mi
‫vector se declara dentro de algunas llaves que pertenecen a la definición de la clase, razón por la cual estas variables viven tanto como
‫un la instancia de la clase lo hace.
‫Así que me gustaría probarte esto.
‫Así que vayamos al punto CP de la plataforma móvil y creemos una variable local dentro de esto.
‫Así que voy a crearlo exactamente de la misma manera que lo hicimos nosotros.
‫Cuando declaramos un error en el encabezado del archivo, vamos a tener un vector F, luego el nombre
‫del vector, lo llamaré vector local.
‫Y luego podemos establecer este valor justo cuando lo creamos.
‫Podemos hacerlo usando el constructor para el vector F, o podemos hacerlo desde otra variable, al igual
‫que podemos pasar una variable a una función.
‫Entonces, en primer lugar, solo podemos usar el método constructor.
‫Así que vamos a tener el vector F y le voy a dar un 1 a 3 y luego un punto y coma, el final de
‫la línea.
‫Así que ahora es una variable local.
‫Solo existe dentro de esta función y se restablece cada vez que se llama a la función.
‫Entonces, si tuviera que hacer algo como esto, si tuviera que hacer algo como lo que
‫tenemos en la línea 29 con mi vector actualizado, podemos tener un vector local, podemos tener un vector local punto z igual
‫al vector local punto z mas uno.
‫Y si tuviera que establecer mi ubicación en ese vector local, será el mismo en cada cuadro porque
‫reiniciamos y comenzamos desde la misma ubicación.
‫Uno, dos, tres, cada función de marca única.
‫Entonces, esta función realmente solo existe localmente.
‫Así que me gustaría que intentaras un pequeño experimento como desafío para establecer un vector local desde mi vector.
‫Entonces, básicamente, en lugar de configurarlo desde el constructor, lo configurará desde el
‫valor que está actualmente en mi vector que tomará una copia de ese vector en su vector
‫local.
‫Luego, me gustaría que se establezca en una ubicación usando el vector local.
‫Y debido a que estamos tratando de actualizar ese vector local en cada cuadro, veamos cuál es el efecto.
‫¿Se mueve la plataforma?
‫¿Esperaría que lo hiciera e ir y probarlo, compilar el código y ver si realmente publica un video y
‫lo intenta?
‫Bueno.
‫Bienvenido de nuevo.
‫Entonces, en lugar de usar el constructor aquí para establecer el vector local, voy a establecer mi
‫vector en su lugar.
‫Así que estamos tomando el valor que está actualmente almacenado en mi vector y lo estamos poniendo en el
‫vector local y luego estamos actualizando el vector local.
‫Estamos aumentando, dicho esto, en uno cada fotograma.
‫Y luego me gustaría establecer una ubicación activa en lugar de desde mi vector.
‫En su lugar, lo configuraremos desde el vector local.
‫Ahora, ¿qué va a pasar en este caso, crees?
‫Avancemos y averigüémoslo.
‫Presionaré el botón de compilación y continuaré y presionaré reproducir y veré que
‫la plataforma todavía se está moviendo hacia la derecha, pero no sube en la dirección Z.
‫Así que pueden ver que esto realmente no tiene un impacto, el aumento del vector local porque
‫se restablece desde el valor actual en mi vector, cada cuadro.
‫Mi vector, sin embargo, todavía se está actualizando.
‫En cada cuadro, el valor de y se incrementa, en cada cuadro.
‫Y es por eso que estamos viendo el movimiento hacia la derecha.
‫Entonces, una forma en que podemos ver que este cambio al vector local es solo local es aumentando este valor de
‫uno a quizás 100.
‫Entonces estamos sumando 100 al valor del vector local.
‫Podemos repasar y compilar y luego presionar reproducir.
‫Y lo que van a ver es que la plataforma en realidad está 100 unidades más alta en el aire.
‫Tomemos un segundo aquí y expulsemos con F8 y pausemos el juego con el botón de pausa en la barra de
‫herramientas principal y luego seleccionemos una plataforma en movimiento para verla en el panel de detalles.
‫Para hacer eso, tengo que hacer clic en él en la ventana gráfica por alguna razón, a veces no funciona simplemente haciendo clic
‫en él en el contorno.
‫M Y me gustaría señalarles que el valor en mi vector, el valor Z en mi vector es 100 unidades
‫menos que la ubicación Z de la transformación.
‫Entonces puede ver que agregar a ese vector local ha tenido un impacto.
‫Tenemos nuestra ubicación 100 unidades más alta que la ubicación en el vector my.
‫Y lo realmente bueno de las variables locales es que cuando la función ha terminado su ejecución
‫particular, se borran y se reinician.
‫Por lo tanto, siempre puede saber qué esperar con la variable local.
‫Siempre sabe qué valor va a tener, a diferencia de una variable de clase que se puede actualizar en
‫cualquier momento desde cualquier otra función.
‫Así que vamos a poner estas variables locales a prueba en unas pocas conferencias.
‫Buceemos.