[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.52,0:00:03.90,Default,,0000,0000,0000,,¿Recuerdas los tres pasos para hacer una animación? Dialogue: 0,0:00:03.90,0:00:09.93,Default,,0000,0000,0000,,Comenzamos haciendo algunas variables fuera del ciclo draw y usamos esas variables dentro de dicho ciclo en nuestro código de dibujo Dialogue: 0,0:00:09.93,0:00:16.19,Default,,0000,0000,0000,,Entonces tenemos una variable para la posición en x, una para al posición en y, una para el ancho del balón y una para la altura del balón. Dialogue: 0,0:00:16.19,0:00:24.63,Default,,0000,0000,0000,,Y luego, hasta el final, cambiamos esas variables un poco cada vez, así x será el valor anterior de x mas uno, así que se incrementará cada vez; Dialogue: 0,0:00:24.63,0:00:29.83,Default,,0000,0000,0000,,"y" será el valor anterior de "y" menos 2, así que se reducirá cada vez; Dialogue: 0,0:00:29.83,0:00:39.39,Default,,0000,0000,0000,,ballWidth contendrá el valor anterior de ballWidth multiplicado por 0.99. Y como 0.99 es menor que 1 veremos reducirse el ancho del balón. Dialogue: 0,0:00:39.39,0:00:45.56,Default,,0000,0000,0000,,Y ballHeight contendrá el valor anterior de ballHeight dividido por 1.01, Dialogue: 0,0:00:45.56,0:00:54.45,Default,,0000,0000,0000,,que es mayor a 1 y, por lo tanto también veremos reducirse la altura del balón. Si presiono Reiniciar verás cambiar todos estos atributos del balón. Dialogue: 0,0:00:54.45,0:01:00.11,Default,,0000,0000,0000,,Y si ves estas cuatro líneas de código, te darás cuenta de que todas siguen un patrón similar. Tenemos una variable, Dialogue: 0,0:01:00.11,0:01:08.81,Default,,0000,0000,0000,,luego un signo de igual, depués la misma variable, algún operador - mas, menos, multiplicación, división - y un número, ¿si? Dialogue: 0,0:01:08.81,0:01:17.03,Default,,0000,0000,0000,,Y este patrón es tan común en programación y los programadores son tan flojos, que decidieron "¡Hey! Como usamos mucho este patrón, Dialogue: 0,0:01:17.03,0:01:22.18,Default,,0000,0000,0000,,¿no debería haber una forma mas fácil de escribirlo?" Y entonces hicieron un atajo, y el atajo es así: Dialogue: 0,0:01:22.18,0:01:32.22,Default,,0000,0000,0000,,En lugar de decir x contiene x mas 1, puedo decir x += 1. ¿Lo entendiste? Y en vez de decir y contiene y menos 2, Dialogue: 0,0:01:32.22,0:01:36.77,Default,,0000,0000,0000,,Puedo decir y -= 2. Dialogue: 0,0:01:36.77,0:01:48.06,Default,,0000,0000,0000,,Y en lugar de decir ballWidth contiene ballwidth multiplicado por 0.99, puedo decir - adivinaste - ballWidth *= 0.99 Dialogue: 0,0:01:48.06,0:01:57.83,Default,,0000,0000,0000,,Por último, en vez de decir ballHeight contiene ballHeigth dividido por 1.01, podemos decir ballHeight /= 1.01 Dialogue: 0,0:01:57.83,0:02:06.13,Default,,0000,0000,0000,,Así que para todas estas, lo que hace es tomar el valor de las variables, como ballWidth, y luego su operador, que entonces lo multiplica por 0.99 Dialogue: 0,0:02:06.13,0:02:16.16,Default,,0000,0000,0000,,Así que dirá "ballWidth multiplcado por 0.99" y luego lo guarda de nuevo en la variable ballWidth. Si presiono reinicio puedes ver que nuestra animación se ve igual que antes. Dialogue: 0,0:02:16.16,0:02:20.00,Default,,0000,0000,0000,,¡Y ahora también tú puedes ser flojo!