‫Hola y bienvenido.
‫En esta lección, calcularemos la distancia que nuestra plataforma se ha movido desde su ubicación
‫inicial y la mostraremos en el editor para que la verifiquemos y depuremos.
‫Vamos a sumergirnos y ver cómo se hace esto.
‫Así que actualmente hemos visto que podemos implementar la primera parte del pseudocódigo.
‫Hemos escrito que la plataforma MOVE ahora funciona.
‫Por lo que es la plataforma de envío de vuelta que aún no hemos cubierto.
‫Y puede ver el primer comentario que hay para ver cuánto nos hemos movido.
‫Entonces, ¿cómo hacemos para verificar cuánto nos hemos movido desde el comienzo del juego?
‫Bueno, hay dos componentes en esto.
‫En primer lugar, necesitamos averiguar la diferencia entre dos vectores y la distancia entre los
‫dos.
‫Y la otra cosa que tenemos que averiguar es cómo hacer un seguimiento de dónde empezamos.
‫Bueno, la primera parte es relativamente sencilla.
‫Afortunadamente, todo lo que tenemos que hacer allí es ir a nuestra plataforma móvil Dot H y queremos crear una nueva
‫variable aquí, pero no una que esté expuesta a planos.
‫Por una vez, esta es solo una variable solo para C ++, por lo que no necesitamos colocar una nueva propiedad encima.
‫Y va a ser un vector F llamado posición de inicio o ubicación para usar la misma terminología que se usa en
‫Unreal.
‫Y no vamos a establecer ningún valor desde el principio porque no tendría ningún sentido.
‫La ubicación de inicio.
‫No lo sabemos todavía, pero lo sabremos en Begin Play.
‫Así que eso es lo que vamos a hacer.
‫Vamos a ir a C++ Olympic In-Play después de la súper apuesta en juego.
‫Vamos a establecer nuestra ubicación de inicio para que podamos decir la ubicación de inicio.
‫Recuerdo que no ponemos el vector aquí delante porque estamos tratando de referirnos a una variable de
‫clase en lugar de crear una variable local.
‫Así que vamos a establecer esta ubicación de inicio igual a la ubicación de la Ley GET porque al comienzo de la
‫obra el actor está al comienzo.
‫Así que hemos establecido la ubicación de inicio y eso ahora significa que tenemos una variable que dura toda la instancia de
‫esta clase, por lo que también podemos usarla y tomarla.
‫Y tenemos una variable que podemos tratar de encontrar la distancia entre.
‫Podemos decir, Oye, ¿cuán lejos se desvió la ubicación actual de esa ubicación de inicio?
‫Bueno, para poder hacer esto, necesito agregar un poco más de sintaxis de C++ a nuestro glosario.
‫Primero, se llamará Operador de resolución de alcance, que tiene un nombre un poco confuso, pero en realidad
‫es este operador de dos puntos dobles que hemos visto antes en un archivo C++.
‫Y esencialmente todo lo que hace es que le permite mirar dentro de una clase de la misma manera que el operador DOT,
‫le permite mirar dentro de una instancia de una clase.
‫Así que echemos un vistazo a esto con un poco más de detalle.
‫Sabemos que la función tick pertenece a la clase de plataforma móvil, pero no pertenece a una instancia particular
‫de esa clase.
‫Todas las instancias de plataforma móvil comparten la misma implementación de tick, que es lo que significa ser una
‫clase.
‫Entonces, el operador de resolución de alcance aquí entre la plataforma móvil y Tick en realidad nos dice que esta es la
‫marca que pertenece a la clase de plataforma móvil.
‫De la misma manera que antes, estábamos usando el operador de punto para obtener la x que corresponde a la
‫ubicación actual.
‫La ubicación actual era una instancia particular de un vector F, pero podemos usar esto para obtener funciones que pertenecen
‫a la clase de vector y no se ejecutan en una instancia particular de esa clase.
‫Entonces, un ejemplo es obtener la distancia entre dos vectores.
‫La forma en que hacemos esto en Unreal es usar una función que está en la clase de vector.
‫Así que haríamos el vector F, luego dos puntos para mirar dentro de esa clase qué funciones tiene disponibles para
‫nosotros y podemos mirar.
‫Y ahora solo llamo su atención sobre el autocompletado que aparece en este punto.
‫No lo he mencionado en el pasado, pero cuando estamos haciendo estas operaciones, en realidad está
‫tratando de ser inteligente y decirnos qué funciones están disponibles dentro de toda esa clase de vector f.
‫Y se puede ver que hay bastantes de ellos.
‫El que estamos buscando se llama Dist Short para distancia.
‫Ahora también notará que hay uno realmente llamado distancia y que en realidad es sinónimo.
‫Podríamos usar cualquiera de ellos, pero voy a usar el más corto para que el código sea
‫más conciso y podamos abrir los paréntesis.
‫Y nuevamente, el autocompletado viene en nuestra ayuda porque nos dice lo que toma como argumentos.
‫Podemos ver que el primer argumento es un vector tres D y el segundo es un efecto a 3D también.
‫Entonces, el hecho de que se llame Factor 3D aquí es un poco raro, pero básicamente está pidiendo un
‫vector F.
‫Entonces está diciendo que si pasa dos argumentos, ambos son factores.
‫Le diré que mi valor de retorno es este bit aquí en el lado izquierdo será el doble.
‫Ahora, un doble es esencialmente solo un flotador más preciso.
‫Así que básicamente podríamos decir.
‫Eso es un flotador que sale de aquí.
‫La expresión que hemos creado crea un flotador.
‫Impresionante.
‫Entonces, lo que vamos a hacer es tratar de encontrar la distancia entre la ubicación de inicio.
‫Así que vamos a escribir la ubicación de inicio como primer argumento.
‫Y luego el segundo va a ser la ubicación actual.
‫Ahora, no se preocupe, en esta etapa, en realidad no importa en qué dirección pongamos esta ronda porque
‫la distancia entre dos vectores será la misma.
‫Ya sea que comience de A a B o de B a A, siempre será la misma distancia.
‫Podríamos haber puesto esto de cualquier manera, si lo desea.
‫Así que ahora tenemos una expresión que devuelve un flotante.
‫Así que me gustaría desafiarlo a que actualice una nueva propiedad usando esta expresión para que podamos ver cuál
‫es su valor.
‫Así que crea un nuevo flotador de tu propiedad y llámalo como quieras y luego actualízalo cada
‫toma con el valor de f vector dest y luego juega y mira qué sucede.
‫¿Obtienes el resultado que esperas?
‫¿Aumenta tan rápido como cabría esperar?
‫Pausa el video y pruébalo.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que vamos a crear, en primer lugar, la nueva propiedad.
‫Así que voy a poner esto encima de nuestra ubicación de inicio para que agrupemos todas las propiedades juntas.
‫Voy a editar una nueva propiedad en cualquier lugar, un hecho real.
‫No necesitamos poder editar esto.
‫Entonces, puede imaginar que en cualquier lugar significa que puede editarlo.
‫Bueno, también tenemos un visible en cualquier lugar que no nos permite editarlo, pero sí verlo.
‫Así que eso es lo que voy a usar en su lugar.
‫Voy a dejar la categoría aquí para simplificar, porque solo estamos usando esta variable para poder
‫ver lo que está pasando.
‫Va a ser un tipo flotante, como mencioné, y voy a llamar a esto la distancia recorrida para que quede
‫claro lo que estamos viendo en el inspector.
‫Y voy a establecer su valor predeterminado en menos uno solo para que sepamos que lo hemos actualizado.
‫Si dice menos uno, sabemos que la actualización no se realizó.
‫Así que voy a tomar esta distancia movida.
‫Vamos a repasar nuestra implementación y tomaremos y estableceremos que la distancia movida es igual para
‫afectar la distancia entre dos puntos.
‫Entonces, use ese operador de resolución de alcance para obtener la función de distancia y luego termine la línea
‫con un punto y coma.
‫De acuerdo.
‫Así que vamos a ir a Unreal y presionar el botón de compilación y podemos continuar y cerrar la
‫terminal.
‫Y deberíamos ver esta distancia movida, mostrándose como menos uno.
‫Puede ver que está atenuado porque no puedo editarlo porque está visible, no puedo editarlo de todos modos.
‫Así que sigamos adelante y presionemos reproducir y vamos a tener que asegurarnos de seleccionar la plataforma
‫móvil en el esquema y podemos ver la distancia movida aquí y pueden ver que
‫la propiedad está ocupando rápidamente alrededor de 1 a 300 por segundo.
‫Así que va a la velocidad que esperaría, a saber, 100 por segundo.
‫Así que parece un éxito.
‫Hemos podido calcular la distancia recorrida y también visualizarla.
‫Buena cosa.
‫Te veré en la próxima conferencia.