[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:01.59,Default,,0000,0000,0000,,En este momento, tu puedes notar que has estado definiendo Dialogue: 0,0:00:01.59,0:00:03.18,Default,,0000,0000,0000,,una función en particular cada ves que buscar animar tu programa. Dialogue: 0,0:00:03.18,0:00:07.20,Default,,0000,0000,0000,,la función "draw". Dialogue: 0,0:00:07.20,0:00:09.19,Default,,0000,0000,0000,,Para recordartelo, aquí tenemos nuestro programa del carro animado de nuevo. Dialogue: 0,0:00:09.19,0:00:13.44,Default,,0000,0000,0000,,El cual tiene una variable llamada x, que comienza en 11. Dialogue: 0,0:00:13.44,0:00:16.99,Default,,0000,0000,0000,,y entonces dentro de la función "draw" el dibuja el carro en esta variable x, Dialogue: 0,0:00:16.99,0:00:22.65,Default,,0000,0000,0000,,y añade 3 unidades a la variable x. Dialogue: 0,0:00:22.65,0:00:26.64,Default,,0000,0000,0000,,y esto hace que el carro Dialogue: 0,0:00:26.64,0:00:28.50,Default,,0000,0000,0000,,se mueva tres pixeles en la pantalla continuamente. Dialogue: 0,0:00:28.50,0:00:32.45,Default,,0000,0000,0000,,Y así es como funciona. Dialogue: 0,0:00:32.45,0:00:34.72,Default,,0000,0000,0000,,Pero ahora que tu aprendiste a hacer tus propias funciones. Dialogue: 0,0:00:34.72,0:00:37.68,Default,,0000,0000,0000,,quizás te preguntaras. ¿que pasa con esta funcion "draw"? Dialogue: 0,0:00:37.68,0:00:41.58,Default,,0000,0000,0000,,¿por que siempre se llama "draw"? Dialogue: 0,0:00:41.58,0:00:44.11,Default,,0000,0000,0000,,¿Es una función personalizada? Dialogue: 0,0:00:44.11,0:00:45.90,Default,,0000,0000,0000,,Y estas son muy buenas preguntas. Dialogue: 0,0:00:45.90,0:00:48.89,Default,,0000,0000,0000,,Veras, en la librería ProcessingJS, Dialogue: 0,0:00:48.89,0:00:51.98,Default,,0000,0000,0000,,la función "draw" es una de las pocas funciones predefinidas Dialogue: 0,0:00:51.98,0:00:56.13,Default,,0000,0000,0000,,Que dan a nuestros programas más control sobre lo que pasa en la pantalla. Dialogue: 0,0:00:56.13,0:01:01.01,Default,,0000,0000,0000,,Una función predefinida, es una función que ya ha sido definida Dialogue: 0,0:01:01.01,0:01:04.83,Default,,0000,0000,0000,,Por la librería ProcessingJS. Dialogue: 0,0:01:04.83,0:01:07.21,Default,,0000,0000,0000,,Pero usualmente comienza como una función vacía. Dialogue: 0,0:01:07.21,0:01:11.15,Default,,0000,0000,0000,,por ejemplo, en ProcessingJS, el código se ve como esto: Dialogue: 0,0:01:11.15,0:01:17.04,Default,,0000,0000,0000,,`var draw = function() { }` Dialogue: 0,0:01:17.04,0:01:19.43,Default,,0000,0000,0000,,y entonces la función esta vacía, completamente vacia. Dialogue: 0,0:01:19.43,0:01:23.27,Default,,0000,0000,0000,,Ahora, nosotros cargamos ProcessingJS en cada programa aqui en Khan Academy, Dialogue: 0,0:01:23.27,0:01:28.62,Default,,0000,0000,0000,,Pero tu nunca ves este codigo. Dialogue: 0,0:01:28.62,0:01:30.90,Default,,0000,0000,0000,,Pero créeme, existe. Dialogue: 0,0:01:30.90,0:01:33.65,Default,,0000,0000,0000,,No traducción disponible. Dialogue: 0,0:01:33.65,0:01:41.05,Default,,0000,0000,0000,,Ahora cuando tu defines la función "draw" en tu programa, Dialogue: 0,0:01:41.05,0:01:45.31,Default,,0000,0000,0000,,esta nueva función sobrescribe la anterior definicion Dialogue: 0,0:01:45.31,0:01:49.81,Default,,0000,0000,0000,,y ahora la función "draw" Dialogue: 0,0:01:49.81,0:01:51.63,Default,,0000,0000,0000,,hace cosas interesantes, como dibujar un carro. Dialogue: 0,0:01:51.63,0:01:55.50,Default,,0000,0000,0000,,pero, ¿y por que la función "draw" se ejecuta una y otra ves? Dialogue: 0,0:01:55.50,0:02:01.38,Default,,0000,0000,0000,,bueno, el código de la librería processingJS Dialogue: 0,0:02:01.38,0:02:05.96,Default,,0000,0000,0000,,hace que el navegador ejecute la función repetidamente Dialogue: 0,0:02:05.96,0:02:11.11,Default,,0000,0000,0000,,y otra ves, y otra ves. Dialogue: 0,0:02:11.11,0:02:13.100,Default,,0000,0000,0000,,nosotros tenemos que llamar la función "draw", por que ese es el nombre de la funcion Dialogue: 0,0:02:13.100,0:02:19.24,Default,,0000,0000,0000,,que processingJS llama repetidamente. Dialogue: 0,0:02:19.24,0:02:22.07,Default,,0000,0000,0000,,si nosotros la renombramos como "drawCar" Dialogue: 0,0:02:22.07,0:02:27.54,Default,,0000,0000,0000,,esto nos genera un error, debido a que debimos escribir "var drawCar" Dialogue: 0,0:02:27.54,0:02:33.73,Default,,0000,0000,0000,,pero si ves, al renombrar esto como "drawCar" Dialogue: 0,0:02:33.73,0:02:37.09,Default,,0000,0000,0000,,nosotros no vemos mas la animacion. Dialogue: 0,0:02:37.09,0:02:39.65,Default,,0000,0000,0000,,esto es debido a que la función no esta siendo ejecutada repetidamente, Dialogue: 0,0:02:39.65,0:02:44.69,Default,,0000,0000,0000,,debido a que no es llamada "draw". Dialogue: 0,0:02:44.69,0:02:47.19,Default,,0000,0000,0000,, Dialogue: 0,0:02:47.19,0:02:50.80,Default,,0000,0000,0000,, Dialogue: 0,0:02:50.80,0:02:55.91,Default,,0000,0000,0000,, Dialogue: 0,0:02:55.91,0:03:00.59,Default,,0000,0000,0000,, Dialogue: 0,0:03:00.59,0:03:03.24,Default,,0000,0000,0000,, Dialogue: 0,0:03:03.24,0:03:07.21,Default,,0000,0000,0000,, Dialogue: 0,0:03:07.21,0:03:12.97,Default,,0000,0000,0000,, Dialogue: 0,0:03:12.97,0:03:18.23,Default,,0000,0000,0000,, Dialogue: 0,0:03:18.23,0:03:23.53,Default,,0000,0000,0000,, Dialogue: 0,0:03:23.53,0:03:27.89,Default,,0000,0000,0000,, Dialogue: 0,0:03:27.89,0:03:30.81,Default,,0000,0000,0000,, Dialogue: 0,0:03:30.81,0:03:35.14,Default,,0000,0000,0000,, Dialogue: 0,0:03:35.14,0:03:40.50,Default,,0000,0000,0000,, Dialogue: 0,0:03:40.50,0:03:43.17,Default,,0000,0000,0000,, Dialogue: 0,0:03:43.17,0:03:48.29,Default,,0000,0000,0000,, Dialogue: 0,0:03:48.29,0:03:50.50,Default,,0000,0000,0000,, Dialogue: 0,0:03:50.50,0:03:52.68,Default,,0000,0000,0000,, Dialogue: 0,0:03:52.68,0:03:56.69,Default,,0000,0000,0000,, Dialogue: 0,0:03:56.69,0:04:01.62,Default,,0000,0000,0000,, Dialogue: 0,0:04:01.62,0:04:04.72,Default,,0000,0000,0000,, Dialogue: 0,0:04:04.72,0:04:09.04,Default,,0000,0000,0000,, Dialogue: 0,0:04:09.04,0:04:15.67,Default,,0000,0000,0000,, Dialogue: 0,0:04:19.100,0:04:22.54,Default,,0000,0000,0000,, Dialogue: 0,0:04:22.54,0:04:27.22,Default,,0000,0000,0000,, Dialogue: 0,0:04:27.22,0:04:31.18,Default,,0000,0000,0000,, Dialogue: 0,0:04:31.18,0:04:34.70,Default,,0000,0000,0000,, Dialogue: 0,0:04:34.70,0:04:37.90,Default,,0000,0000,0000,, Dialogue: 0,0:04:37.90,0:04:42.11,Default,,0000,0000,0000,, Dialogue: 0,0:04:42.11,0:04:44.29,Default,,0000,0000,0000,, Dialogue: 0,0:04:44.29,0:04:51.89,Default,,0000,0000,0000,, Dialogue: 0,0:04:51.89,0:04:54.58,Default,,0000,0000,0000,, Dialogue: 0,0:04:54.58,0:04:58.36,Default,,0000,0000,0000,, Dialogue: 0,0:04:58.36,0:05:00.75,Default,,0000,0000,0000,, Dialogue: 0,0:05:00.75,0:05:05.46,Default,,0000,0000,0000,, Dialogue: 0,0:05:05.46,0:05:10.03,Default,,0000,0000,0000,, Dialogue: 0,0:05:10.03,0:05:13.42,Default,,0000,0000,0000,, Dialogue: 0,0:05:13.42,0:05:15.91,Default,,0000,0000,0000,, Dialogue: 0,0:05:15.91,0:05:20.26,Default,,0000,0000,0000,, Dialogue: 0,0:05:20.26,0:05:23.29,Default,,0000,0000,0000,, Dialogue: 0,0:05:23.29,0:05:27.31,Default,,0000,0000,0000,, Dialogue: 0,0:05:27.31,0:05:30.73,Default,,0000,0000,0000,, Dialogue: 0,0:05:30.73,0:05:34.52,Default,,0000,0000,0000,, Dialogue: 0,0:05:34.52,0:05:37.21,Default,,0000,0000,0000,, Dialogue: 0,0:05:37.21,0:05:40.99,Default,,0000,0000,0000,, Dialogue: 0,0:05:40.99,0:05:44.66,Default,,0000,0000,0000,, Dialogue: 0,0:05:44.66,0:05:48.87,Default,,0000,0000,0000,, Dialogue: 0,0:05:48.87,0:05:53.99,Default,,0000,0000,0000,, Dialogue: 0,0:05:53.99,0:05:59.24,Default,,0000,0000,0000,, Dialogue: 0,0:05:59.24,0:06:03.41,Default,,0000,0000,0000,, Dialogue: 0,0:06:03.41,0:06:05.97,Default,,0000,0000,0000,,