En este momento, tu puedes notar que has estado definiendo
una función en particular cada ves que buscar animar tu programa.
la función "draw".
Para recordartelo, aquí tenemos nuestro programa del carro animado de nuevo.
El cual tiene una variable llamada x, que comienza en 11.
y entonces dentro de la función "draw" el dibuja el carro en esta variable x,
y añade 3 unidades a la variable x.
y esto hace que el carro
se mueva tres pixeles en la pantalla continuamente.
Y así es como funciona.
Pero ahora que tu aprendiste a hacer tus propias funciones.
quizás te preguntaras. ¿que pasa con esta funcion "draw"?
¿por que siempre se llama "draw"?
¿Es una función personalizada?
Y estas son muy buenas preguntas.
Veras, en la librería ProcessingJS,
la función "draw" es una de las pocas funciones predefinidas
Que dan a nuestros programas más control sobre lo que pasa en la pantalla.
Una función predefinida, es una función que ya ha sido definida
Por la librería ProcessingJS.
Pero usualmente comienza como una función vacía.
por ejemplo, en ProcessingJS, el código se ve como esto:
`var draw = function() { }`
y entonces la función esta vacía, completamente vacia.
Ahora, nosotros cargamos ProcessingJS en cada programa aqui en Khan Academy,
Pero tu nunca ves este codigo.
Pero créeme, existe.
No traducción disponible.
Ahora cuando tu defines la función "draw" en tu programa,
esta nueva función sobrescribe la anterior definicion
y ahora la función "draw"
hace cosas interesantes, como dibujar un carro.
pero, ¿y por que la función "draw" se ejecuta una y otra ves?
bueno, el código de la librería processingJS
hace que el navegador ejecute la función repetidamente
y otra ves, y otra ves.
nosotros tenemos que llamar la función "draw", por que ese es el nombre de la funcion
que processingJS llama repetidamente.
si nosotros la renombramos como "drawCar"
esto nos genera un error, debido a que debimos escribir "var drawCar"
pero si ves, al renombrar esto como "drawCar"
nosotros no vemos mas la animacion.
esto es debido a que la función no esta siendo ejecutada repetidamente,
debido a que no es llamada "draw".