WEBVTT 00:00:00.000 --> 00:00:01.590 En este momento, tu puedes notar que has estado definiendo 00:00:01.590 --> 00:00:03.180 una función en particular cada ves que buscar animar tu programa. 00:00:03.180 --> 00:00:07.202 la función "draw". 00:00:07.202 --> 00:00:09.191 Para recordartelo, aquí tenemos nuestro programa del carro animado de nuevo. 00:00:09.191 --> 00:00:13.436 El cual tiene una variable llamada x, que comienza en 11. 00:00:13.436 --> 00:00:16.992 y entonces dentro de la función "draw" el dibuja el carro en esta variable x, 00:00:16.992 --> 00:00:22.648 y añade 3 unidades a la variable x. 00:00:22.648 --> 00:00:26.638 y esto hace que el carro 00:00:26.638 --> 00:00:28.501 se mueva tres pixeles en la pantalla continuamente. 00:00:28.501 --> 00:00:32.447 Y así es como funciona. 00:00:32.447 --> 00:00:34.723 Pero ahora que tu aprendiste a hacer tus propias funciones. 00:00:34.723 --> 00:00:37.683 quizás te preguntaras. ¿que pasa con esta funcion "draw"? 00:00:37.683 --> 00:00:41.583 ¿por que siempre se llama "draw"? 00:00:41.583 --> 00:00:44.109 ¿Es una función personalizada? 00:00:44.109 --> 00:00:45.904 Y estas son muy buenas preguntas. 00:00:45.904 --> 00:00:48.894 Veras, en la librería ProcessingJS, 00:00:48.894 --> 00:00:51.985 la función "draw" es una de las pocas funciones predefinidas 00:00:51.985 --> 00:00:56.132 Que dan a nuestros programas más control sobre lo que pasa en la pantalla. 00:00:56.132 --> 00:01:01.009 Una función predefinida, es una función que ya ha sido definida 00:01:01.009 --> 00:01:04.831 Por la librería ProcessingJS. 00:01:04.831 --> 00:01:07.209 Pero usualmente comienza como una función vacía. 00:01:07.209 --> 00:01:11.149 por ejemplo, en ProcessingJS, el código se ve como esto: 00:01:11.149 --> 00:01:17.045 `var draw = function() { }` 00:01:17.045 --> 00:01:19.434 y entonces la función esta vacía, completamente vacia. 00:01:19.434 --> 00:01:23.266 Ahora, nosotros cargamos ProcessingJS en cada programa aqui en Khan Academy, 00:01:23.266 --> 00:01:28.620 Pero tu nunca ves este codigo. 00:01:28.620 --> 00:01:30.904 Pero créeme, existe. 00:01:30.904 --> 00:01:33.647 No traducción disponible. 00:01:33.647 --> 00:01:41.049 Ahora cuando tu defines la función "draw" en tu programa, 00:01:41.049 --> 00:01:45.308 esta nueva función sobrescribe la anterior definicion 00:01:45.308 --> 00:01:49.809 y ahora la función "draw" 00:01:49.809 --> 00:01:51.632 hace cosas interesantes, como dibujar un carro. 00:01:51.632 --> 00:01:55.497 pero, ¿y por que la función "draw" se ejecuta una y otra ves? 00:01:55.497 --> 00:02:01.375 bueno, el código de la librería processingJS 00:02:01.375 --> 00:02:05.964 hace que el navegador ejecute la función repetidamente 00:02:05.964 --> 00:02:11.111 y otra ves, y otra ves. 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 00:02:13.998 --> 00:02:19.239 que processingJS llama repetidamente. 00:02:19.239 --> 00:02:22.073 si nosotros la renombramos como "drawCar" 00:02:22.073 --> 00:02:27.543 esto nos genera un error, debido a que debimos escribir "var drawCar" 00:02:27.543 --> 00:02:33.730 pero si ves, al renombrar esto como "drawCar" 00:02:33.730 --> 00:02:37.087 nosotros no vemos mas la animacion. 00:02:37.087 --> 00:02:39.651 esto es debido a que la función no esta siendo ejecutada repetidamente, 00:02:39.651 --> 00:02:44.692 debido a que no es llamada "draw". 00:02:44.692 --> 00:02:47.188 00:02:47.188 --> 00:02:50.796 00:02:50.796 --> 00:02:55.912 00:02:55.912 --> 00:03:00.594 00:03:00.594 --> 00:03:03.237 00:03:03.237 --> 00:03:07.206 00:03:07.206 --> 00:03:12.970 00:03:12.970 --> 00:03:18.228 00:03:18.228 --> 00:03:23.528 00:03:23.528 --> 00:03:27.889 00:03:27.889 --> 00:03:30.813 00:03:30.813 --> 00:03:35.143 00:03:35.143 --> 00:03:40.495 00:03:40.495 --> 00:03:43.166 00:03:43.166 --> 00:03:48.289 00:03:48.289 --> 00:03:50.499 00:03:50.499 --> 00:03:52.682 00:03:52.682 --> 00:03:56.692 00:03:56.692 --> 00:04:01.624 00:04:01.624 --> 00:04:04.716 00:04:04.716 --> 00:04:09.042 00:04:09.042 --> 00:04:15.666 00:04:19.998 --> 00:04:22.545 00:04:22.545 --> 00:04:27.224 00:04:27.224 --> 00:04:31.176 00:04:31.176 --> 00:04:34.703 00:04:34.703 --> 00:04:37.902 00:04:37.902 --> 00:04:42.114 00:04:42.114 --> 00:04:44.288 00:04:44.288 --> 00:04:51.892 00:04:51.892 --> 00:04:54.577 00:04:54.577 --> 00:04:58.361 00:04:58.361 --> 00:05:00.754 00:05:00.754 --> 00:05:05.457 00:05:05.457 --> 00:05:10.029 00:05:10.029 --> 00:05:13.423 00:05:13.423 --> 00:05:15.908 00:05:15.908 --> 00:05:20.265 00:05:20.265 --> 00:05:23.292 00:05:23.292 --> 00:05:27.313 00:05:27.313 --> 00:05:30.728 00:05:30.728 --> 00:05:34.525 00:05:34.525 --> 00:05:37.212 00:05:37.212 --> 00:05:40.987 00:05:40.987 --> 00:05:44.655 00:05:44.655 --> 00:05:48.872 00:05:48.872 --> 00:05:53.993 00:05:53.993 --> 00:05:59.244 00:05:59.244 --> 00:06:03.410 00:06:03.410 --> 00:06:05.967