﻿1
00:00:04,380 --> 00:00:05,570
‫Hola y bienvenido.

2
00:00:05,580 --> 00:00:11,880
‫En esta lección, calcularemos la distancia que nuestra plataforma se ha movido desde su ubicación

3
00:00:11,880 --> 00:00:17,550
‫inicial y la mostraremos en el editor para que la verifiquemos y depuremos.

4
00:00:17,850 --> 00:00:19,650
‫Vamos a sumergirnos y ver cómo se hace esto.

5
00:00:20,720 --> 00:00:26,810
‫Así que actualmente hemos visto que podemos implementar la primera parte del pseudocódigo.

6
00:00:26,810 --> 00:00:30,020
‫Hemos escrito que la plataforma MOVE ahora funciona.

7
00:00:30,020 --> 00:00:33,650
‫Por lo que es la plataforma de envío de vuelta que aún no hemos cubierto.

8
00:00:34,250 --> 00:00:38,750
‫Y puede ver el primer comentario que hay para ver cuánto nos hemos movido.

9
00:00:39,320 --> 00:00:44,630
‫Entonces, ¿cómo hacemos para verificar cuánto nos hemos movido desde el comienzo del juego?

10
00:00:44,960 --> 00:00:46,400
‫Bueno, hay dos componentes en esto.

11
00:00:46,400 --> 00:00:51,500
‫En primer lugar, necesitamos averiguar la diferencia entre dos vectores y la distancia entre los

12
00:00:51,500 --> 00:00:51,890
‫dos.

13
00:00:52,340 --> 00:00:57,440
‫Y la otra cosa que tenemos que averiguar es cómo hacer un seguimiento de dónde empezamos.

14
00:00:57,440 --> 00:01:00,410
‫Bueno, la primera parte es relativamente sencilla.

15
00:01:00,410 --> 00:01:08,150
‫Afortunadamente, todo lo que tenemos que hacer allí es ir a nuestra plataforma móvil Dot H y queremos crear una nueva

16
00:01:08,150 --> 00:01:12,050
‫variable aquí, pero no una que esté expuesta a planos.

17
00:01:12,050 --> 00:01:19,010
‫Por una vez, esta es solo una variable solo para C ++, por lo que no necesitamos colocar una nueva propiedad encima.

18
00:01:19,550 --> 00:01:27,680
‫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

19
00:01:27,680 --> 00:01:28,430
‫Unreal.

20
00:01:29,000 --> 00:01:33,980
‫Y no vamos a establecer ningún valor desde el principio porque no tendría ningún sentido.

21
00:01:33,980 --> 00:01:34,790
‫La ubicación de inicio.

22
00:01:34,790 --> 00:01:39,380
‫No lo sabemos todavía, pero lo sabremos en Begin Play.

23
00:01:39,410 --> 00:01:40,730
‫Así que eso es lo que vamos a hacer.

24
00:01:40,730 --> 00:01:44,960
‫Vamos a ir a C++ Olympic In-Play después de la súper apuesta en juego.

25
00:01:45,230 --> 00:01:51,050
‫Vamos a establecer nuestra ubicación de inicio para que podamos decir la ubicación de inicio.

26
00:01:51,380 --> 00:01:57,200
‫Recuerdo que no ponemos el vector aquí delante porque estamos tratando de referirnos a una variable de

27
00:01:57,200 --> 00:02:00,230
‫clase en lugar de crear una variable local.

28
00:02:00,620 --> 00:02:07,310
‫Así que vamos a establecer esta ubicación de inicio igual a la ubicación de la Ley GET porque al comienzo de la

29
00:02:07,520 --> 00:02:09,590
‫obra el actor está al comienzo.

30
00:02:09,800 --> 00:02:15,530
‫Así que hemos establecido la ubicación de inicio y eso ahora significa que tenemos una variable que dura toda la instancia de

31
00:02:15,530 --> 00:02:18,440
‫esta clase, por lo que también podemos usarla y tomarla.

32
00:02:18,920 --> 00:02:21,650
‫Y tenemos una variable que podemos tratar de encontrar la distancia entre.

33
00:02:21,650 --> 00:02:27,590
‫Podemos decir, Oye, ¿cuán lejos se desvió la ubicación actual de esa ubicación de inicio?

34
00:02:27,590 --> 00:02:32,750
‫Bueno, para poder hacer esto, necesito agregar un poco más de sintaxis de C++ a nuestro glosario.

35
00:02:32,750 --> 00:02:38,510
‫Primero, se llamará Operador de resolución de alcance, que tiene un nombre un poco confuso, pero en realidad

36
00:02:38,840 --> 00:02:44,120
‫es este operador de dos puntos dobles que hemos visto antes en un archivo C++.

37
00:02:44,630 --> 00:02:51,950
‫Y esencialmente todo lo que hace es que le permite mirar dentro de una clase de la misma manera que el operador DOT,

38
00:02:52,220 --> 00:02:55,430
‫le permite mirar dentro de una instancia de una clase.

39
00:02:55,430 --> 00:02:57,740
‫Así que echemos un vistazo a esto con un poco más de detalle.

40
00:02:58,160 --> 00:03:04,940
‫Sabemos que la función tick pertenece a la clase de plataforma móvil, pero no pertenece a una instancia particular

41
00:03:04,940 --> 00:03:06,140
‫de esa clase.

42
00:03:06,140 --> 00:03:12,950
‫Todas las instancias de plataforma móvil comparten la misma implementación de tick, que es lo que significa ser una

43
00:03:12,950 --> 00:03:13,580
‫clase.

44
00:03:13,850 --> 00:03:21,020
‫Entonces, el operador de resolución de alcance aquí entre la plataforma móvil y Tick en realidad nos dice que esta es la

45
00:03:21,020 --> 00:03:24,380
‫marca que pertenece a la clase de plataforma móvil.

46
00:03:24,380 --> 00:03:30,800
‫De la misma manera que antes, estábamos usando el operador de punto para obtener la x que corresponde a la

47
00:03:30,800 --> 00:03:31,550
‫ubicación actual.

48
00:03:32,060 --> 00:03:39,650
‫La ubicación actual era una instancia particular de un vector F, pero podemos usar esto para obtener funciones que pertenecen

49
00:03:39,650 --> 00:03:46,160
‫a la clase de vector y no se ejecutan en una instancia particular de esa clase.

50
00:03:46,460 --> 00:03:50,450
‫Entonces, un ejemplo es obtener la distancia entre dos vectores.

51
00:03:50,450 --> 00:03:56,930
‫La forma en que hacemos esto en Unreal es usar una función que está en la clase de vector.

52
00:03:56,930 --> 00:04:04,970
‫Así que haríamos el vector F, luego dos puntos para mirar dentro de esa clase qué funciones tiene disponibles para

53
00:04:04,970 --> 00:04:07,070
‫nosotros y podemos mirar.

54
00:04:07,070 --> 00:04:11,450
‫Y ahora solo llamo su atención sobre el autocompletado que aparece en este punto.

55
00:04:11,450 --> 00:04:17,270
‫No lo he mencionado en el pasado, pero cuando estamos haciendo estas operaciones, en realidad está

56
00:04:17,270 --> 00:04:23,480
‫tratando de ser inteligente y decirnos qué funciones están disponibles dentro de toda esa clase de vector f.

57
00:04:23,810 --> 00:04:25,280
‫Y se puede ver que hay bastantes de ellos.

58
00:04:25,280 --> 00:04:29,690
‫El que estamos buscando se llama Dist Short para distancia.

59
00:04:29,840 --> 00:04:34,850
‫Ahora también notará que hay uno realmente llamado distancia y que en realidad es sinónimo.

60
00:04:34,850 --> 00:04:39,950
‫Podríamos usar cualquiera de ellos, pero voy a usar el más corto para que el código sea

61
00:04:39,950 --> 00:04:42,380
‫más conciso y podamos abrir los paréntesis.

62
00:04:42,680 --> 00:04:50,180
‫Y nuevamente, el autocompletado viene en nuestra ayuda porque nos dice lo que toma como argumentos.

63
00:04:50,180 --> 00:04:57,110
‫Podemos ver que el primer argumento es un vector tres D y el segundo es un efecto a 3D también.

64
00:04:57,320 --> 00:05:03,410
‫Entonces, el hecho de que se llame Factor 3D aquí es un poco raro, pero básicamente está pidiendo un

65
00:05:03,410 --> 00:05:04,160
‫vector F.

66
00:05:04,430 --> 00:05:08,720
‫Entonces está diciendo que si pasa dos argumentos, ambos son factores.

67
00:05:09,110 --> 00:05:15,080
‫Le diré que mi valor de retorno es este bit aquí en el lado izquierdo será el doble.

68
00:05:15,110 --> 00:05:18,590
‫Ahora, un doble es esencialmente solo un flotador más preciso.

69
00:05:18,590 --> 00:05:20,000
‫Así que básicamente podríamos decir.

70
00:05:20,280 --> 00:05:22,230
‫Eso es un flotador que sale de aquí.

71
00:05:22,230 --> 00:05:25,710
‫La expresión que hemos creado crea un flotador.

72
00:05:26,550 --> 00:05:27,000
‫Impresionante.

73
00:05:27,030 --> 00:05:32,450
‫Entonces, lo que vamos a hacer es tratar de encontrar la distancia entre la ubicación de inicio.

74
00:05:32,460 --> 00:05:36,450
‫Así que vamos a escribir la ubicación de inicio como primer argumento.

75
00:05:36,720 --> 00:05:40,440
‫Y luego el segundo va a ser la ubicación actual.

76
00:05:40,950 --> 00:05:45,300
‫Ahora, no se preocupe, en esta etapa, en realidad no importa en qué dirección pongamos esta ronda porque

77
00:05:45,300 --> 00:05:47,550
‫la distancia entre dos vectores será la misma.

78
00:05:47,550 --> 00:05:51,990
‫Ya sea que comience de A a B o de B a A, siempre será la misma distancia.

79
00:05:52,440 --> 00:05:54,510
‫Podríamos haber puesto esto de cualquier manera, si lo desea.

80
00:05:55,140 --> 00:05:59,310
‫Así que ahora tenemos una expresión que devuelve un flotante.

81
00:05:59,580 --> 00:06:05,430
‫Así que me gustaría desafiarlo a que actualice una nueva propiedad usando esta expresión para que podamos ver cuál

82
00:06:05,430 --> 00:06:06,600
‫es su valor.

83
00:06:07,020 --> 00:06:13,380
‫Así que crea un nuevo flotador de tu propiedad y llámalo como quieras y luego actualízalo cada

84
00:06:13,380 --> 00:06:19,350
‫toma con el valor de f vector dest y luego juega y mira qué sucede.

85
00:06:19,350 --> 00:06:21,660
‫¿Obtienes el resultado que esperas?

86
00:06:21,690 --> 00:06:24,420
‫¿Aumenta tan rápido como cabría esperar?

87
00:06:24,750 --> 00:06:26,460
‫Pausa el video y pruébalo.

88
00:06:29,800 --> 00:06:30,310
‫Bueno.

89
00:06:30,310 --> 00:06:30,940
‫Bienvenido de nuevo.

90
00:06:30,970 --> 00:06:34,480
‫Así que vamos a crear, en primer lugar, la nueva propiedad.

91
00:06:34,810 --> 00:06:40,280
‫Así que voy a poner esto encima de nuestra ubicación de inicio para que agrupemos todas las propiedades juntas.

92
00:06:40,280 --> 00:06:45,550
‫Voy a editar una nueva propiedad en cualquier lugar, un hecho real.

93
00:06:45,550 --> 00:06:47,050
‫No necesitamos poder editar esto.

94
00:06:47,050 --> 00:06:51,400
‫Entonces, puede imaginar que en cualquier lugar significa que puede editarlo.

95
00:06:51,700 --> 00:06:59,320
‫Bueno, también tenemos un visible en cualquier lugar que no nos permite editarlo, pero sí verlo.

96
00:06:59,410 --> 00:07:01,030
‫Así que eso es lo que voy a usar en su lugar.

97
00:07:01,330 --> 00:07:05,320
‫Voy a dejar la categoría aquí para simplificar, porque solo estamos usando esta variable para poder

98
00:07:05,320 --> 00:07:06,910
‫ver lo que está pasando.

99
00:07:07,240 --> 00:07:13,270
‫Va a ser un tipo flotante, como mencioné, y voy a llamar a esto la distancia recorrida para que quede

100
00:07:13,270 --> 00:07:15,820
‫claro lo que estamos viendo en el inspector.

101
00:07:16,180 --> 00:07:22,300
‫Y voy a establecer su valor predeterminado en menos uno solo para que sepamos que lo hemos actualizado.

102
00:07:22,300 --> 00:07:25,000
‫Si dice menos uno, sabemos que la actualización no se realizó.

103
00:07:25,600 --> 00:07:27,190
‫Así que voy a tomar esta distancia movida.

104
00:07:27,580 --> 00:07:33,880
‫Vamos a repasar nuestra implementación y tomaremos y estableceremos que la distancia movida es igual para

105
00:07:33,880 --> 00:07:36,700
‫afectar la distancia entre dos puntos.

106
00:07:36,700 --> 00:07:41,590
‫Entonces, use ese operador de resolución de alcance para obtener la función de distancia y luego termine la línea

107
00:07:41,590 --> 00:07:42,970
‫con un punto y coma.

108
00:07:43,540 --> 00:07:44,050
‫De acuerdo.

109
00:07:44,050 --> 00:07:50,110
‫Así que vamos a ir a Unreal y presionar el botón de compilación y podemos continuar y cerrar la

110
00:07:50,110 --> 00:07:50,620
‫terminal.

111
00:07:50,800 --> 00:07:55,570
‫Y deberíamos ver esta distancia movida, mostrándose como menos uno.

112
00:07:55,570 --> 00:08:00,580
‫Puede ver que está atenuado porque no puedo editarlo porque está visible, no puedo editarlo de todos modos.

113
00:08:01,210 --> 00:08:07,390
‫Así que sigamos adelante y presionemos reproducir y vamos a tener que asegurarnos de seleccionar la plataforma

114
00:08:07,390 --> 00:08:12,910
‫móvil en el esquema y podemos ver la distancia movida aquí y pueden ver que

115
00:08:12,910 --> 00:08:17,950
‫la propiedad está ocupando rápidamente alrededor de 1 a 300 por segundo.

116
00:08:17,950 --> 00:08:24,160
‫Así que va a la velocidad que esperaría, a saber, 100 por segundo.

117
00:08:24,170 --> 00:08:25,780
‫Así que parece un éxito.

118
00:08:25,780 --> 00:08:30,790
‫Hemos podido calcular la distancia recorrida y también visualizarla.

119
00:08:30,850 --> 00:08:31,390
‫Buena cosa.

120
00:08:31,390 --> 00:08:32,980
‫Te veré en la próxima conferencia.

