1 00:00:00,110 --> 00:00:04,849 Hola y bienvenidos a un nuevo tutorial en Flutter, en este caso Flutter Flame. 2 00:00:05,389 --> 00:00:09,029 Vamos a rápidamente entrar en un pequeño resumen, 3 00:00:09,570 --> 00:00:12,849 esto va a ser un poco más largo, una media hora de vídeo, espero que no más, 4 00:00:13,550 --> 00:00:18,489 en el cual vamos a ver cómo hacer un resumen de todo lo que vimos en Flutter Flame. 5 00:00:19,949 --> 00:00:23,170 Para empezar, yo voy a basarme... 6 00:00:23,170 --> 00:00:26,109 Bueno, yo creo que eso ya lo hemos... 7 00:00:26,109 --> 00:00:31,199 Está empezando de cero, pues... 8 00:00:31,199 --> 00:00:39,539 flutter flame yo voy a meterme voy a pasarme en esto y vamos a trabajar con esto de acuerdo 9 00:00:42,079 --> 00:00:46,880 a partir de aquí pues lo que vamos a hacer es crear un proyecto de flame e introducir los 10 00:00:46,880 --> 00:00:50,759 paquetes y trabajar con elementos que bueno parcialmente ya tengo hechos para no tener 11 00:00:50,759 --> 00:00:55,240 para poder hacerlo más rápido hacer esto de un resumen voy a incorporar forge voy a 12 00:00:55,240 --> 00:01:00,460 recuperar tile y vamos a ver cómo hacer todo lo que vimos hasta ahora en un tutorial bien 13 00:01:00,460 --> 00:01:08,079 rápido y lo más explicativo posible para empezar a hacer un nuevo proyecto ahora voy a abrir ok 14 00:01:09,620 --> 00:01:22,359 de tipo frame bueno aquí el new flame new frame project tipo flame le voy a llamar game 15 00:01:22,359 --> 00:01:24,420 Flame 16 00:01:24,420 --> 00:01:25,819 Game 17 00:01:25,819 --> 00:01:28,120 1 18 00:01:28,120 --> 00:01:30,560 Le voy a llamar Flame Game 1 o JDK 19 00:01:30,560 --> 00:01:31,819 Pues no sé, JDK da igual 20 00:01:31,819 --> 00:01:34,260 Es que es de tipo flutter 21 00:01:34,260 --> 00:01:35,480 Entonces la verdad es que me da igual 22 00:01:35,480 --> 00:01:37,560 Next 23 00:01:37,560 --> 00:01:38,500 Aquí 24 00:01:38,500 --> 00:01:43,129 Flame Game 1 25 00:01:43,129 --> 00:01:45,269 Todo lo demás 26 00:01:45,269 --> 00:01:46,530 Voy a dejarlo más o menos como está 27 00:01:46,530 --> 00:01:49,430 Bueno, esto sí que voy a quitar Windows y Linux 28 00:01:49,430 --> 00:01:50,709 Y Mac 29 00:01:50,709 --> 00:01:53,069 Solo web, iOS y Android, etc 30 00:01:53,069 --> 00:02:05,129 Creo en Flame Game 1, lo creo. Se crea, me lo va a crear totalmente igual que cualquier otra aplicación de Flame, el main, el class aquí, state el widget y tal. 31 00:02:05,230 --> 00:02:10,789 Esto me lo voy a cargar porque no lo necesito y voy a dejar esto pues quitado. 32 00:02:11,169 --> 00:02:21,889 Entonces empezamos. ¿Cómo empezamos? Pues lo primero es incorporar aquí el Flame en las librerías de dependencia. 33 00:02:21,889 --> 00:02:24,330 eso se hace aquí o se hace aquí abriendo un terminal 34 00:02:24,330 --> 00:02:25,930 a ver si se hace un flutter 35 00:02:25,930 --> 00:02:27,110 o 36 00:02:27,110 --> 00:02:29,370 pub 37 00:02:29,370 --> 00:02:30,710 add 38 00:02:30,710 --> 00:02:34,289 flutter flame, creo que era así 39 00:02:34,289 --> 00:02:39,250 bueno, como era 40 00:02:39,250 --> 00:02:41,250 bueno, no me acuerdo como era agregar en 41 00:02:41,250 --> 00:02:42,530 esto, pues 42 00:02:42,530 --> 00:02:45,590 instalación, vamos a poner la dependencia 43 00:02:45,590 --> 00:02:47,509 ahora está en la versión 1.6, así que vamos a ponerlo 44 00:02:47,509 --> 00:02:48,870 en 1.6 directamente o 45 00:02:48,870 --> 00:02:51,169 pub get, no, esto 46 00:02:51,169 --> 00:02:53,509 vale, en el pubspec.yaml 47 00:02:53,509 --> 00:02:55,490 Lo metemos de vuelta ahí, ponemos esto aquí 48 00:02:55,490 --> 00:02:57,889 Y en las dependencias, acá abajo, debajo de flutter 49 00:02:57,889 --> 00:02:59,150 Pues lo ponemos aquí así 50 00:02:59,150 --> 00:03:00,129 ¿Vale? 51 00:03:01,729 --> 00:03:03,990 Me está diciendo que... 52 00:03:03,990 --> 00:03:05,629 Bueno, ya está, y hacemos un pubget 53 00:03:05,629 --> 00:03:08,330 Y ya tenemos esto 54 00:03:08,330 --> 00:03:09,830 También voy a aprovechar 55 00:03:09,830 --> 00:03:11,310 Y a meter los demás, es decir 56 00:03:11,310 --> 00:03:13,030 El forge y el tile 57 00:03:13,030 --> 00:03:15,669 Y ahora aquí voy a ver la versión 58 00:03:15,669 --> 00:03:16,870 Este 59 00:03:16,870 --> 00:03:18,349 Lo copio 60 00:03:18,349 --> 00:03:21,270 Y me vuelvo al proyecto 61 00:03:21,270 --> 00:03:22,650 Y lo pongo aquí 62 00:03:22,650 --> 00:03:25,930 Aquí, bueno, podría haberlo puesto 63 00:03:25,930 --> 00:03:28,050 Bajo el Cupertino, abajo, pero ya lo puse aquí arriba 64 00:03:28,050 --> 00:03:28,650 Y el 65 00:03:28,650 --> 00:03:30,530 Tile 66 00:03:30,530 --> 00:03:33,090 También lo copio 67 00:03:33,090 --> 00:03:34,889 Y lo coloco aquí 68 00:03:34,889 --> 00:03:37,270 Para hacer memoria 69 00:03:37,270 --> 00:03:39,550 No sé por qué me dice esto 70 00:03:39,550 --> 00:03:41,330 Será porque se puede actualizar 71 00:03:41,330 --> 00:03:43,310 O que como está 72 00:03:43,310 --> 00:03:45,189 Bueno, vamos a ponerlo con la fecha para arriba 73 00:03:45,189 --> 00:03:47,169 Para decirle que se vaya a ir actualizando 74 00:03:47,169 --> 00:03:47,789 Vale, está bien 75 00:03:47,789 --> 00:03:49,370 A ver 76 00:03:49,370 --> 00:03:53,310 Esto es el motor del videojuego 77 00:03:53,310 --> 00:03:54,550 Esto es 78 00:03:54,550 --> 00:03:56,310 Forge2D para hacer física 79 00:03:56,310 --> 00:03:58,389 Y esto es para leer de ficheros type 80 00:03:58,389 --> 00:04:01,090 ¿Vale? Ponemos aquí y empezamos a trabajar 81 00:04:01,090 --> 00:04:02,669 Vamos a ir a dependencies 82 00:04:02,669 --> 00:04:03,909 Por otra vez y ya está 83 00:04:03,909 --> 00:04:06,469 ¿Qué tenemos que hacer aquí? Pues hay que crear una carpeta 84 00:04:06,469 --> 00:04:08,270 Un fichero, un escenario 85 00:04:08,270 --> 00:04:10,590 ¿Vale? El escenario va a ser 86 00:04:10,590 --> 00:04:12,430 Vamos a llamarle 87 00:04:12,430 --> 00:04:18,319 Escenario 88 00:04:18,319 --> 00:04:20,439 Game ¿Vale? Esto va a ser así 89 00:04:20,439 --> 00:04:22,579 Y lo voy a hacer un class 90 00:04:22,579 --> 00:04:23,720 Escenario 91 00:04:23,720 --> 00:04:26,220 Game 92 00:04:26,220 --> 00:04:28,300 Extend 93 00:04:28,300 --> 00:04:29,839 Flame 94 00:04:29,839 --> 00:04:31,199 Game, ¿vale? 95 00:04:31,480 --> 00:04:34,339 Este es el primer tipo de escenario donde puedo crear 96 00:04:34,339 --> 00:04:35,220 Personajes 97 00:04:35,220 --> 00:04:37,959 Y en principio 98 00:04:37,959 --> 00:04:40,199 A partir de ahí, aquí, pues 99 00:04:40,199 --> 00:04:42,720 Lo que puedo hacer es ir agregando personajes al escenario 100 00:04:42,720 --> 00:04:44,899 Y, por ejemplo, definiendo el fondo 101 00:04:44,899 --> 00:04:46,339 Digamos que quiero definir un fondo 102 00:04:46,339 --> 00:04:47,639 Tengo que 103 00:04:47,639 --> 00:04:49,800 Creo que era 104 00:04:49,800 --> 00:04:51,899 background 105 00:04:51,899 --> 00:04:54,839 set background 106 00:04:54,839 --> 00:04:57,019 no, que no me acuerdo como era 107 00:04:57,019 --> 00:04:58,019 a ver rápidamente 108 00:04:58,019 --> 00:04:59,920 tengo aquí esto abierto 109 00:04:59,920 --> 00:05:05,720 background color 110 00:05:05,720 --> 00:05:07,079 vale, lo único 111 00:05:07,079 --> 00:05:09,160 es que por alguna razón me está dando 112 00:05:09,160 --> 00:05:11,319 bueno 113 00:05:11,319 --> 00:05:13,199 hacer dependencias, se supone 114 00:05:13,199 --> 00:05:15,439 que esto debería funcionar 115 00:05:15,439 --> 00:05:16,579 con background color, no me lo está 116 00:05:16,579 --> 00:05:19,100 background, bueno lo voy a copiar 117 00:05:19,100 --> 00:05:20,839 y lo voy a pegar de mi ejemplo de aquí 118 00:05:20,839 --> 00:05:22,720 Haciendo esto 119 00:05:22,720 --> 00:05:24,540 Me voy a poner el fondo 120 00:05:24,540 --> 00:05:27,019 Que quiera 121 00:05:27,019 --> 00:05:33,850 Dynamic function is invalid 122 00:05:33,850 --> 00:05:34,870 Of the right of game 123 00:05:34,870 --> 00:05:36,389 Okay, pues 124 00:05:36,389 --> 00:05:38,290 The memory being overridden game dart 125 00:05:38,290 --> 00:05:39,649 Game background 126 00:05:39,649 --> 00:05:44,379 Vale, ¿qué le pasa a esto? 127 00:05:44,459 --> 00:05:45,100 No lo tengo idea 128 00:05:45,100 --> 00:05:53,279 Es un frame game 129 00:05:53,279 --> 00:05:56,139 Y debería funcionar 130 00:05:56,139 --> 00:05:56,920 Pues no está funcionando 131 00:05:56,920 --> 00:05:57,879 Muy bien 132 00:05:57,879 --> 00:05:59,939 ok, seguimos 133 00:05:59,939 --> 00:06:02,240 no sé hasta que entienda por qué está fallando 134 00:06:02,240 --> 00:06:04,199 a ver, puedo hacer un add, no puedo hacer un add 135 00:06:04,199 --> 00:06:06,579 acá estoy haciendo algo malo 136 00:06:06,579 --> 00:06:07,439 algo no va yendo 137 00:06:07,439 --> 00:06:12,129 no puede ser, esto es un fallo 138 00:06:12,129 --> 00:06:12,649 a ver, unload 139 00:06:12,649 --> 00:06:16,089 no, esto está importando un paquete 140 00:06:16,089 --> 00:06:16,850 distinto 141 00:06:16,850 --> 00:06:19,850 o no está detectando 142 00:06:19,850 --> 00:06:21,990 correctamente 143 00:06:21,990 --> 00:06:25,639 el escenario 144 00:06:25,639 --> 00:06:27,199 vale 145 00:06:27,199 --> 00:06:42,060 ok, hay un gameplay side 146 00:06:42,060 --> 00:06:44,139 On attach, on mount, on remove 147 00:06:44,139 --> 00:06:46,100 No hay un on load 148 00:06:46,100 --> 00:06:47,360 Esto es raro 149 00:06:47,360 --> 00:06:51,000 Igual debería haber 150 00:06:51,000 --> 00:06:53,100 No, no 151 00:06:53,100 --> 00:07:04,139 A ver, un segundo, voy a parar y seguimos