1 00:00:00,000 --> 00:00:01,590 En este momento, tu puedes notar que has estado definiendo 2 00:00:01,590 --> 00:00:03,180 una función en particular cada ves que buscar animar tu programa. 3 00:00:03,180 --> 00:00:07,202 la función "draw". 4 00:00:07,202 --> 00:00:09,191 Para recordartelo, aquí tenemos nuestro programa del carro animado de nuevo. 5 00:00:09,191 --> 00:00:13,436 El cual tiene una variable llamada x, que comienza en 11. 6 00:00:13,436 --> 00:00:16,992 y entonces dentro de la función "draw" el dibuja el carro en esta variable x, 7 00:00:16,992 --> 00:00:22,648 y añade 3 unidades a la variable x. 8 00:00:22,648 --> 00:00:26,638 y esto hace que el carro 9 00:00:26,638 --> 00:00:28,501 se mueva tres pixeles en la pantalla continuamente. 10 00:00:28,501 --> 00:00:32,447 Y así es como funciona. 11 00:00:32,447 --> 00:00:34,723 Pero ahora que tu aprendiste a hacer tus propias funciones. 12 00:00:34,723 --> 00:00:37,683 quizás te preguntaras. ¿que pasa con esta funcion "draw"? 13 00:00:37,683 --> 00:00:41,583 ¿por que siempre se llama "draw"? 14 00:00:41,583 --> 00:00:44,109 ¿Es una función personalizada? 15 00:00:44,109 --> 00:00:45,904 Y estas son muy buenas preguntas. 16 00:00:45,904 --> 00:00:48,894 Veras, en la librería ProcessingJS, 17 00:00:48,894 --> 00:00:51,985 la función "draw" es una de las pocas funciones predefinidas 18 00:00:51,985 --> 00:00:56,132 Que dan a nuestros programas más control sobre lo que pasa en la pantalla. 19 00:00:56,132 --> 00:01:01,009 Una función predefinida, es una función que ya ha sido definida 20 00:01:01,009 --> 00:01:04,831 Por la librería ProcessingJS. 21 00:01:04,831 --> 00:01:07,209 Pero usualmente comienza como una función vacía. 22 00:01:07,209 --> 00:01:11,149 por ejemplo, en ProcessingJS, el código se ve como esto: 23 00:01:11,149 --> 00:01:17,045 `var draw = function() { }` 24 00:01:17,045 --> 00:01:19,434 y entonces la función esta vacía, completamente vacia. 25 00:01:19,434 --> 00:01:23,266 Ahora, nosotros cargamos ProcessingJS en cada programa aqui en Khan Academy, 26 00:01:23,266 --> 00:01:28,620 Pero tu nunca ves este codigo. 27 00:01:28,620 --> 00:01:30,904 Pero créeme, existe. 28 00:01:30,904 --> 00:01:33,647 No traducción disponible. 29 00:01:33,647 --> 00:01:41,049 Ahora cuando tu defines la función "draw" en tu programa, 30 00:01:41,049 --> 00:01:45,308 esta nueva función sobrescribe la anterior definicion 31 00:01:45,308 --> 00:01:49,809 y ahora la función "draw" 32 00:01:49,809 --> 00:01:51,632 hace cosas interesantes, como dibujar un carro. 33 00:01:51,632 --> 00:01:55,497 pero, ¿y por que la función "draw" se ejecuta una y otra ves? 34 00:01:55,497 --> 00:02:01,375 bueno, el código de la librería processingJS 35 00:02:01,375 --> 00:02:05,964 hace que el navegador ejecute la función repetidamente 36 00:02:05,964 --> 00:02:11,111 y otra ves, y otra ves. 37 00:02:11,111 --> 00:02:13,998 nosotros tenemos que llamar la función "draw", por que ese es el nombre de la funcion 38 00:02:13,998 --> 00:02:19,239 que processingJS llama repetidamente. 39 00:02:19,239 --> 00:02:22,073 si nosotros la renombramos como "drawCar" 40 00:02:22,073 --> 00:02:27,543 esto nos genera un error, debido a que debimos escribir "var drawCar" 41 00:02:27,543 --> 00:02:33,730 pero si ves, al renombrar esto como "drawCar" 42 00:02:33,730 --> 00:02:37,087 nosotros no vemos mas la animacion. 43 00:02:37,087 --> 00:02:39,651 esto es debido a que la función no esta siendo ejecutada repetidamente, 44 00:02:39,651 --> 00:02:44,692 debido a que no es llamada "draw". 45 00:02:44,692 --> 00:02:47,188 46 00:02:47,188 --> 00:02:50,796 47 00:02:50,796 --> 00:02:55,912 48 00:02:55,912 --> 00:03:00,594 49 00:03:00,594 --> 00:03:03,237 50 00:03:03,237 --> 00:03:07,206 51 00:03:07,206 --> 00:03:12,970 52 00:03:12,970 --> 00:03:18,228 53 00:03:18,228 --> 00:03:23,528 54 00:03:23,528 --> 00:03:27,889 55 00:03:27,889 --> 00:03:30,813 56 00:03:30,813 --> 00:03:35,143 57 00:03:35,143 --> 00:03:40,495 58 00:03:40,495 --> 00:03:43,166 59 00:03:43,166 --> 00:03:48,289 60 00:03:48,289 --> 00:03:50,499 61 00:03:50,499 --> 00:03:52,682 62 00:03:52,682 --> 00:03:56,692 63 00:03:56,692 --> 00:04:01,624 64 00:04:01,624 --> 00:04:04,716 65 00:04:04,716 --> 00:04:09,042 66 00:04:09,042 --> 00:04:15,666 67 00:04:19,998 --> 00:04:22,545 68 00:04:22,545 --> 00:04:27,224 69 00:04:27,224 --> 00:04:31,176 70 00:04:31,176 --> 00:04:34,703 71 00:04:34,703 --> 00:04:37,902 72 00:04:37,902 --> 00:04:42,114 73 00:04:42,114 --> 00:04:44,288 74 00:04:44,288 --> 00:04:51,892 75 00:04:51,892 --> 00:04:54,577 76 00:04:54,577 --> 00:04:58,361 77 00:04:58,361 --> 00:05:00,754 78 00:05:00,754 --> 00:05:05,457 79 00:05:05,457 --> 00:05:10,029 80 00:05:10,029 --> 00:05:13,423 81 00:05:13,423 --> 00:05:15,908 82 00:05:15,908 --> 00:05:20,265 83 00:05:20,265 --> 00:05:23,292 84 00:05:23,292 --> 00:05:27,313 85 00:05:27,313 --> 00:05:30,728 86 00:05:30,728 --> 00:05:34,525 87 00:05:34,525 --> 00:05:37,212 88 00:05:37,212 --> 00:05:40,987 89 00:05:40,987 --> 00:05:44,655 90 00:05:44,655 --> 00:05:48,872 91 00:05:48,872 --> 00:05:53,993 92 00:05:53,993 --> 00:05:59,244 93 00:05:59,244 --> 00:06:03,410 94 00:06:03,410 --> 00:06:05,967