1
00:00:04,410 --> 00:00:10,500
Porque vamos a seguir y vamos a empezar a meternos con la interfaz del usuario de nuestro juego.

2
00:00:10,680 --> 00:00:15,980
Lo que vamos a crear va a ser un contador de vidas que vamos a desplegar en nuestra pantalla.

3
00:00:16,020 --> 00:00:23,970
También vamos a crear una un elemento que va a mostrar nuestro marcador nuestro score y además vamos

4
00:00:23,970 --> 00:00:31,340
a ir y vamos a crear una pantalla de título en la pantalla de título vamos a tener un botón que cuando

5
00:00:32,190 --> 00:00:36,310
lo presionamos vamos a arrancar nuestro juego.

6
00:00:36,600 --> 00:00:43,230
Y bueno para empezar vamos a buscar nuestra carpeta de sprites y dentro de esa carpeta hay otra carpeta

7
00:00:43,230 --> 00:00:44,730
que se llama yusei.

8
00:00:46,290 --> 00:00:50,160
Y ahí dentro vas a ver una carpeta que se llama Lips.

9
00:00:50,270 --> 00:00:56,090
Aquí es donde tenemos los sprites que vamos a utilizar para nuestro marcador de vida va a ser algo muy

10
00:00:56,090 --> 00:00:57,830
similar a cuando.

11
00:00:58,070 --> 00:01:01,850
No sé si alguna vez has jugado a Zelda por ejemplo en Zelda existe.

12
00:01:02,020 --> 00:01:09,350
Estos marcadores son corazones rojos y cada vez que pierdes un corazón básicamente sigues viendo un

13
00:01:09,350 --> 00:01:12,200
corazón perocomo sin color.

14
00:01:12,230 --> 00:01:16,080
Lo ves como opaco y es algo muy similar a lo que vamos a hacer aquí.

15
00:01:17,230 --> 00:01:22,820
Entonces vamos a crear lógica para hacer esto funcionar es un pequeño truco y vamos a ver cómo se hace.

16
00:01:23,080 --> 00:01:27,050
Sólo se trata de saber cuáles desplegará en el momento adecuado.

17
00:01:27,540 --> 00:01:32,080
Ahora para empezar lo que tenemos que hacer es posicionar esto en el lugar en el que queramos que aparezca

18
00:01:32,740 --> 00:01:33,250
primero.

19
00:01:33,340 --> 00:01:40,560
Haz clic en la jerarquía y vete a kluivert y luego yo voy y haz clic en Imaxe.

20
00:01:40,570 --> 00:01:46,860
Esta acción va crear un canvas El Canvas es donde todos nuestros elementos de la lluvia van a ir.

21
00:01:46,900 --> 00:01:53,830
Es simplemente un objeto que va a mantener almacenar todos nuestros elementos de la interfaz de nuestra

22
00:01:53,840 --> 00:01:55,330
ciudad como hijos.

23
00:01:56,340 --> 00:02:00,800
Notarás que esta acción también nos crea un elemento o un objeto que se llama venciste.

24
00:02:00,850 --> 00:02:06,900
Aquí abajo no vamos a hablar mucho de este venciste simplemente se puede decir que sirve para mandar

25
00:02:06,900 --> 00:02:08,330
mensajes.

26
00:02:08,550 --> 00:02:10,140
Pero este curso no lo cubre.

27
00:02:10,170 --> 00:02:12,040
Entonces si quieres saber más.

28
00:02:12,040 --> 00:02:16,400
Vea menos le yuliya la referencia en la página oficial de entonces.

29
00:02:16,580 --> 00:02:21,700
Hasta ahora lo que tenemos es nuestro cambas aquí que va a almacenar todos nuestros elementos de archivo

30
00:02:22,340 --> 00:02:29,330
y tenemos ese objeto que se llama y este objeto lo vamos a renombrar y vamos a poner Player Lips vas

31
00:02:29,350 --> 00:02:34,710
a ver que este objeto además tiene un componente llamado inmegen en donde nosotros podemos cambiar el

32
00:02:34,710 --> 00:02:39,520
color de la imagen y también podremos asignarle un surgimos.

33
00:02:39,850 --> 00:02:45,760
Lo que vamos a agregar aquí es nuestro Esprit que se llama lips y puedes ver en nuestra lista de juegos

34
00:02:45,780 --> 00:02:49,610
que actualiza la imagen y ahora aparece en nuestra imagen no Leysi.

35
00:02:49,770 --> 00:02:54,270
También podremos arrastrar por ejemplo el de Wii y vamos a ver el cambio.

36
00:02:55,250 --> 00:03:02,510
Ahora lo que queremos es posicionar este objeto y vamos a ver que en nuestra vista sin que haya un recuadro

37
00:03:02,540 --> 00:03:09,110
blanco el cuadro blanco es nuestro Canvas y básicamente es la interpretación del overlay que va a estar

38
00:03:09,110 --> 00:03:14,530
por encima de toda nuestra pantalla y que va a mantener los tres elementos que hay dentro.

39
00:03:14,540 --> 00:03:19,370
Si por ejemplo tú arrastrase un elemento de ayuda a través de este recuadro blanco vas a ver que se

40
00:03:19,370 --> 00:03:21,600
mantiene dentro de nuestra vista del juego.

41
00:03:21,890 --> 00:03:27,590
Ahora la posición en la que queremos poner el contador de vidas depende totalmente de yo lo voy a poner

42
00:03:27,590 --> 00:03:35,060
aquí en la esquina superior derecha derecha superior izquierda más o menos por aquí voy a moverlo un

43
00:03:35,060 --> 00:03:40,850
poquito más cerca y normalmente lo vamos a querer iniciar con la imagen con la que nuestro juego va

44
00:03:40,850 --> 00:03:41,210
a empezar.

45
00:03:41,210 --> 00:03:44,180
Por ejemplo al principio mi jugador va a tener tres vidas.

46
00:03:44,180 --> 00:03:50,660
Entonces voy a poner por default nuestro que se llama matsui y lo que vamos a hacer es que cuando recibamos

47
00:03:50,660 --> 00:03:54,740
daño vamos a actualizar este elemento de la interfaz.

48
00:03:54,920 --> 00:04:00,210
Básicamente lo que vamos a hacer es cambiar spricht trui por el spricht que se llama.

49
00:04:00,560 --> 00:04:04,580
Aquí puedes ver que funciona como si hubieras perdido una vida en el juego.

50
00:04:04,940 --> 00:04:10,490
El truco es básicamente hacer un intercambio de imágenes y va a pasar tan rápido que nos vamos a dar

51
00:04:10,490 --> 00:04:11,900
cuenta a simple vista.

52
00:04:12,310 --> 00:04:18,890
Entonces después vamos a asignar una sola vida y al final cuando perdamos vamos a asignarles la imagen

53
00:04:18,890 --> 00:04:20,130
de leites.

54
00:04:20,180 --> 00:04:26,150
Luego de eso vamos a poder presionar la tecla de reStart y cuando eso pase vamos a asignar de nuevo

55
00:04:26,150 --> 00:04:28,150
nuestro spricht que se llama Tui.

56
00:04:28,860 --> 00:04:31,210
Ahora dónde vamos a poner todo esto y que lo hagamos.

57
00:04:31,220 --> 00:04:36,900
Lo que vamos a hacer es crear un nuevo script que se va a encargar únicamente de actualizar nuestra

58
00:04:36,900 --> 00:04:38,320
interfaz gráfica nuestra.

59
00:04:38,760 --> 00:04:45,500
Lo vamos a llamar yo a mi manager y su única función es actualizar estos elementos que están en el Canvas.

60
00:04:45,720 --> 00:04:49,130
Entonces vamos a hacer eso vamos a dar clic derecho en la carpeta script.

61
00:04:49,140 --> 00:04:53,500
Vamos a crear un nuevo script de sillar y lo vamos a llamar manager.

62
00:04:53,680 --> 00:04:56,900
Ahora cuál va a ser el objeto que va a guardar este script.

63
00:04:57,030 --> 00:05:05,460
Al igual que nuestros palmauna vamos a crear un objeto que va a almacenar vamos a crear específicamente

64
00:05:05,880 --> 00:05:08,060
para que cumpla esta función.

65
00:05:08,070 --> 00:05:16,170
Mucha gente lo que hace es que guarda este tipo de scripts dentro de su objeto Canvas y está perfectamente

66
00:05:16,170 --> 00:05:16,590
bien.

67
00:05:16,740 --> 00:05:24,610
Pero nosotros vamos a crear un objeto vacío que puedes crear usando el Charcot oyendo al cliente.

68
00:05:24,810 --> 00:05:25,550
Pero saben qué.

69
00:05:25,550 --> 00:05:30,230
Me gustó la idea de ponerlo dentro del cambas mejor lo voy a arrastrar ahí vamos a restaurar el manager

70
00:05:30,240 --> 00:05:32,010
dentro de nuestro objeto Canvas.

71
00:05:32,450 --> 00:05:38,460
Y ahora que añadimos el manager como componente vamos a darle doble clic para abrirlo y vamos a revisar

72
00:05:38,460 --> 00:05:43,550
la lógica de cómo actualizar nuestro nuestra interfaz.

73
00:05:44,690 --> 00:05:52,710
Ahora la única responsabilidad que tiene el yaima es manejar y actualizar la interfaz del usuario.

74
00:05:53,000 --> 00:05:58,820
Empecemos por remover los métodos y los vamos a necesitar por ahora.

75
00:05:58,980 --> 00:06:06,050
Y en ese lugar puedes empezar a escribir una serie de métodos que pudieran tener cierta funcionalidad

76
00:06:06,050 --> 00:06:10,130
que podríamos utilizar para actualizar esta interfaz.

77
00:06:10,220 --> 00:06:17,810
Por ejemplo podría tener un método de que cada jugador sea dañado actualice la cantidad de videos entonces

78
00:06:18,110 --> 00:06:26,600
voy a escribir un método que se llame public void la EPS y otra cosa es que nuestro manager también

79
00:06:26,600 --> 00:06:30,290
podría tener sería algo un método para manejar el Escort.

80
00:06:30,500 --> 00:06:36,470
Entonces cada vez que yo destruyã por ejemplo un enemigo tendría que llamar a una función que actualice

81
00:06:36,470 --> 00:06:37,640
el disco.

82
00:06:37,670 --> 00:06:40,150
Para esto voy a crear un método y lo voy a declarar.

83
00:06:40,250 --> 00:06:47,630
Public void app score y en realidad manager creo que es lo que va a ser estos dos métodos nos van a

84
00:06:47,630 --> 00:06:48,240
servir.

85
00:06:49,370 --> 00:06:51,580
En el método ovv de.

86
00:06:52,190 --> 00:06:57,950
Este método necesita saber cómo actualizar nuestras vidas y cómo actualizar nuestra representación visual

87
00:06:57,950 --> 00:06:59,060
de los pratts.

88
00:06:59,310 --> 00:07:05,310
Entonces lo que quiero decir esto es que necesita saber cuáles son los bits que hay que actualizar.

89
00:07:05,570 --> 00:07:10,450
Entonces lo que hay que hacer aquí es crear una variable para almacenar nuestro objeto que contiene

90
00:07:10,480 --> 00:07:13,030
lesprit de las vidas.

91
00:07:13,990 --> 00:07:20,340
Ahora si nos vamos al editor y seleccionamos este objeto que le llamamos Player la EPS vas a notar que

92
00:07:20,340 --> 00:07:26,880
tiene dentro un componente de tipo imaxe y lo que vamos a hacer es cambiar el Sors que lo que recibe

93
00:07:26,880 --> 00:07:28,270
es un spricht.

94
00:07:28,350 --> 00:07:34,020
Esto quiere decir que yo voy a tener una variable tipo spricht para poder almacenar estas imágenes.

95
00:07:35,030 --> 00:07:41,600
Entonces voy a regresar a mi código y lo que necesites crear esa variable de tipo espaitec.

96
00:07:41,660 --> 00:07:43,500
Para eso voy a declarar aquí arriba.

97
00:07:43,700 --> 00:07:53,530
Public sprout no no la EPS no la EPS y luego tendremos que crear otra variable igual.

98
00:07:53,570 --> 00:08:00,840
Publix y la llamamos hogar Lifetime y así podemos seguir.

99
00:08:01,130 --> 00:08:09,730
Pero qué pasa si no estoy haciendo un juego y necesito tener 100 almacenas 100 imágenes de éstas.

100
00:08:10,040 --> 00:08:16,490
En ese caso ustedes creen que tendría sentido tener 100 variables declaradas aquí.

101
00:08:17,010 --> 00:08:25,010
Y la verdad es que no es para eso que utilizamos los errores que básicamente son listas fijas y que

102
00:08:25,010 --> 00:08:28,280
contienen varios objetos de un mismo tipo.

103
00:08:28,520 --> 00:08:34,160
Y en este caso lo que nos va a permitir hacer una regla es tener una sola variable para tener todos

104
00:08:34,160 --> 00:08:40,430
los elementos de ese mismo tipo almacenados ahí y luego podamos tener acceso a ellos individualmente

105
00:08:40,820 --> 00:08:42,590
simplemente usando índices.

106
00:08:42,710 --> 00:08:48,880
Ahora en este caso el índice podría ser el mismo que la cantidad de vidas que tengo en ese momento entonces

107
00:08:49,240 --> 00:08:56,990
no podría ser muy útil pero bueno como declaró un arreglo que como dijimos es básicamente una variable

108
00:08:56,990 --> 00:09:00,180
que contiene un número fijo de elementos del mismo tipo.

109
00:09:00,380 --> 00:09:05,350
Es muy sencillo simplemente voy a escribir como en cualquier otra variable el identificador.

110
00:09:05,360 --> 00:09:11,180
Este va a ser públic y luego escribir spricht pero después del tipo spricht voy a escribir un par de

111
00:09:11,180 --> 00:09:12,370
corchetes.

112
00:09:12,440 --> 00:09:16,080
Luego les tenemos que poner un nombre entonces lo vamos a poner aquí.

113
00:09:16,160 --> 00:09:25,340
A lo mejor le vamos a poner chips y ponemos un punto y coma y hasta guarda esto y vamos a ir a nuestro

114
00:09:25,340 --> 00:09:27,790
editor Dignity para ver qué es lo que está pasando.

115
00:09:27,800 --> 00:09:35,330
Selecciona tu Canvas y luego en el componente de llubí Manager vas a ver que aparece una nueva variable

116
00:09:35,330 --> 00:09:41,870
que se llama Lips y ésta al ser una regla es una variable que podemos desplegar cuando desplegamos el

117
00:09:41,870 --> 00:09:48,250
texto aquí codice6 y aquí podemos incluir integrar nuestros sprites.

118
00:09:48,290 --> 00:09:54,440
Simplemente indicamos el tamaño voy a hacer lo voy a poner en 4 y como puedes ver es como si tuviéramos

119
00:09:54,440 --> 00:09:58,680
aquí cuatro variables por separado cada una podría contener un spricht diferente.

120
00:09:58,880 --> 00:10:05,430
Y así es como logramos tener una sola variable que nos pueda guardar los cuatro sprites que tenemos.

121
00:10:05,520 --> 00:10:10,590
Y así es como trabajan los arreglos es una herramienta muy útil.

122
00:10:11,150 --> 00:10:17,030
Ahora lo que vamos a hacer es poblar nuestras variables y la forma en que lo vamos a hacer es que cada

123
00:10:17,030 --> 00:10:21,550
uno de los espeté va a corresponder al número de elementos que tenemos aquí dentro.

124
00:10:21,590 --> 00:10:27,960
Por ejemplo el elemento cero va a ser el equipo que se llama laves porque ya no tenemos ninguna vida

125
00:10:28,760 --> 00:10:34,270
y el elemento uno va a ser el que tiene uno y luego dos o tres.

126
00:10:34,280 --> 00:10:37,850
Sólo tenemos que arrastrarlos a su mente correspondiente.

127
00:10:37,880 --> 00:10:41,870
Ahora cómo le hacemos para tener acceso a cada uno de estos poids.

128
00:10:41,870 --> 00:10:48,050
Ya sabemos que tenemos nuestras reglas y que tenemos los exploits guardados dentro de cada uno de los

129
00:10:48,050 --> 00:10:53,690
elementos del arreglo pero por ejemplo cómo le hago yo para tener acceso al spricht cero.

130
00:10:53,900 --> 00:10:54,670
Es muy fácil.

131
00:10:54,680 --> 00:11:02,030
Simplemente tenemos que declarar más bien escribir el nombre de nuestra variable que es libre y entre

132
00:11:02,030 --> 00:11:05,410
corchetes vamos a pasar un número en número de índice.

133
00:11:05,420 --> 00:11:11,180
En este caso sí que obtener el primer espaitec que es el cero simplemente un 0 si quiero tener acceso

134
00:11:11,180 --> 00:11:16,890
a la espera de una vida le paso uno de 12 pasos 2 y 3.

135
00:11:17,120 --> 00:11:19,520
Al último le paso un número 3.

136
00:11:19,670 --> 00:11:24,380
Si estás preguntándote por qué empecé en cero es porque en programación siempre los números empiezan

137
00:11:24,380 --> 00:11:25,130
en cero.

138
00:11:25,490 --> 00:11:30,050
Es por eso que en este caso cero es nuestro primer elemento y 3 es el último.

139
00:11:30,050 --> 00:11:36,680
Si alguien te pregunta cuál es la longitud de nuestro arreglo Lips las longitudes 4 y los elementos

140
00:11:36,680 --> 00:11:39,280
son 0 1 2 y 3.

141
00:11:40,260 --> 00:11:48,530
Entonces así es como puedes tener acceso a cada uno de los elementos de un arreglo ahora aquí arriba.

142
00:11:49,380 --> 00:11:54,120
Bueno nada más déjenme regalar un poquito de estación porque es un poquito extraña.

143
00:11:55,670 --> 00:11:56,400
Muy bien.

144
00:11:56,510 --> 00:12:01,420
Bueno ya tenemos nuestra variable nuestro arreglo con todos los pratts y ya tenemos un método que vamos

145
00:12:01,420 --> 00:12:06,340
a llamar cada vez que tengamos que actualizar nuestro escort y tenemos uno para actualizar nuestras

146
00:12:06,340 --> 00:12:07,480
vidas.

147
00:12:07,650 --> 00:12:13,990
Ahora tipicamente cuando tú estás escribiendo clases de scripts que son managers estos nunca van a tener

148
00:12:13,990 --> 00:12:18,670
comunicación con otros scripts en lugar de eso más bien un script.

149
00:12:18,760 --> 00:12:23,580
Por ejemplo el del jugador o el del enemigo es el que se van a comunicar con el mayor.

150
00:12:24,680 --> 00:12:31,640
Ahora eso me causa un problema porque cómo sé yo aquí Cuántas vidas tiene el jugador actualmente.

151
00:12:31,660 --> 00:12:33,310
Por ejemplo yo tengo mi método.

152
00:12:33,340 --> 00:12:38,460
Pero cómo sé cuál de los sprints cuál de los elementos que tengo en ese arreglo es el que voy a usar.

153
00:12:38,860 --> 00:12:40,610
A la hora de actualizar la interfaz.

154
00:12:41,820 --> 00:12:50,000
Es aquí donde nos empezamos a meter con métodos personalizados a los cuales les podemos pasar un expongas

155
00:12:50,040 --> 00:12:56,430
pasar información les podemos pasar un parámetro va a ser algo muy similar a la función que ya utilizamos

156
00:12:57,370 --> 00:13:04,260
en donde esta función ya tenía un parámetro que se llamaba de tipo Leider que normalmente le poníamos

157
00:13:04,320 --> 00:13:05,240
Oder.

158
00:13:05,740 --> 00:13:07,170
Es muy similar a este método.

159
00:13:07,170 --> 00:13:13,290
Nosotros podemos crear los nuestros en donde nosotros podríamos llegar a pedir información adicional

160
00:13:13,320 --> 00:13:15,100
para utilizar dentro de ese método.

161
00:13:16,000 --> 00:13:23,700
Así cuando el jugador mande llamar a este método el hop kleines además le va a mandar la información

162
00:13:23,700 --> 00:13:24,510
extra a mandar.

163
00:13:24,510 --> 00:13:25,650
Cuántas vidas tiene.

164
00:13:25,650 --> 00:13:31,010
En ese momento y bueno te voy a enseñar de qué se tratan estos métodos personalizados metodos custom.

165
00:13:31,110 --> 00:13:32,170
En el siguiente vídeo.
