Return to Video

Funciones Mágicas (Versión en Video)

  • 0:00 - 0:05
    En este punto te puedes dar cuenta de que has estado definiendo una función particular
  • 0:05 - 0:09
    cada vez que has querido animar tu programa, y es la función "draw".
  • 0:09 - 0:14
    Para que lo recuerdes aquí tenemos nuestro programa de carro animado
  • 0:14 - 0:17
    recuerda que tenemos nuestra variable "x" igual a 11
  • 0:17 - 0:18
    que es la posición inicial del carro
  • 0:18 - 0:20
    y en "var draw" está todo nuestro código de dibujo
  • 0:20 - 0:23
    y luego cambiamos "x" y sumamos 3 cada vez
  • 0:23 - 0:28
    y luego podemos reiniciar y correrlo: ¡Wooo! Zoomy Zoomy Zoomy
  • 0:28 - 0:31
    Ahora que has aprendido cómo hacer tus propias funciones,
  • 0:31 - 0:38
    tal vez te preguntes: "¿Qué pasa con esta función de dibujo?, ¿Es una función personalizada? ¿Por qué siempre la llamamos "draw"?
  • 0:38 - 0:40
    Bueno, todas son buenas preguntas.
  • 0:40 - 0:45
    Verás, en nuestro entorno aquí en Khan Academy, hay algunas funciones globales especiales,
  • 0:45 - 0:50
    que yo llamo "Funciones Mágicas" pero eso es sólo el nombre que yo les doy.
  • 0:50 - 0:55
    Básicamente cuando corremos tu programa lo observamos para descubrir si definiste funciones con nombre específicos,
  • 0:55 - 1:00
    como "draw", y si lo has hecho, las llamamos en determinadas ocasiones.
  • 1:00 - 1:03
    Por ejemplo, cuando defines la función "draw" en tu código,
  • 1:03 - 1:07
    entonces encontramos esa función y miramos el código que está dentro de ella
  • 1:07 - 1:12
    y llamamos ese código una y otra vez de la manera más rápida que podamos.
  • 1:12 - 1:17
    Si no defines una función "draw", no llamaremos a ninguna función porque no hay nada ahí.
  • 1:17 - 1:23
    Esto significa que si renombramos esta función como "drow"
  • 1:23 - 1:26
    ok, eso no funciona
  • 1:26 - 1:29
    O si la llamamos "drawCar", no funciona
  • 1:29 - 1:35
    Así que si renombramos la función, el programa ya no la encuentra porque no se llama "draw"
  • 1:35 - 1:39
    por lo que no se ejecuta ese código una y otra vez y el programa termina con nada.
  • 1:39 - 1:46
    Esto significa que no deberías nombrar a tu función personalizada como "draw" a menos que quieras que sea ejecutada de manera especial
  • 1:46 - 1:49
    y sea llamada una y otra vez.
  • 1:49 - 1:52
    Ahora, "draw" no es la única función mágica disponible
  • 1:52 - 1:58
    Hay muchas otras funciones que reaccionan a la interacción del ratón y a la pulsación de teclas.
  • 1:58 - 2:03
    Déjenme mostrar un ejemplo de otro programa de animación.
  • 2:03 - 2:13
    Digamos que queremos dibujar un círculo coloreado por donde el usuario mueva el ratón.
  • 2:13 - 2:20
    Entonces tenemos "draw" y luego "fill" y luego "ellipse" en "(mouseX, mouseY, 10, 10)"
  • 2:20 - 2:21
    Ok, vamos a probar. ¡Genial!
  • 2:21 - 2:25
    Tenemos esta maravillos cosa redonda coloreada pasando por ahí
  • 2:25 - 2:30
    Así que esta función, este código dentro de la función "draw" se estará llamando una y otra vez
  • 2:30 - 2:34
    Porque lo hemos puesto dentro de una función llamada "draw"
  • 2:34 - 2:40
    Así que se estará llamando incluso si el usuario no está moviendo el ratón. Se está llamando ahora mismo, aunque no estoy moviendo el ratón.
  • 2:40 - 2:47
    Como resultado hay una mejor manera de hacer esto, más eficiente
  • 2:47 - 2:53
    lo que podemos hacer es cambiar la función "draw" por la función "mouseMoved"
  • 2:53 - 2:59
    Nuestro entorno siempre revisa los programas para ver si tienen definida la función "mouseMoved"
  • 2:59 - 3:06
    Si la tienen, la llamarán siempre que el usuario mueva el ratón. Puedes verlo otra vez, sigue funcionando.
  • 3:06 - 3:14
    Pero, la función no es llamada si el usuario no mueve el ratón, tan pronto como el ratón se detiene la función deja de ser llamada.
  • 3:14 - 3:22
    Recuerda cuando teníamos la función "draw" el código era llamado una y otra vez, aunque el ratón no estuviera cambiando.
  • 3:22 - 3:27
    Ahora que estamos usando "mouseMoved" sólo llamamos el código cuando lo necesitamos, cuando el ratón realmente se mueve.
  • 3:27 - 3:34
    Nuestro programa es más eficiente. En general, si sólo quieres cambiar los resultados del programa cuando el usuario mueve el ratón
  • 3:34 - 3:40
    entonces es mejor usar la función "mouseMoved" en lugar de "draw".
  • 3:40 - 3:44
    Hay muchas otras funciones mágicas como "mouseMoved".
  • 3:44 - 3:50
    Está la función "mousePressed" y "mouseReleased" y "keyPressed" y puedes leer todo acerda de ellas en la documentación.
  • 3:50 - 3:55
    La clave a recordar es ésta: Si deseas usar las funciones mágicas debes escribirlas correctamente.
  • 3:55 - 4:01
    Si no las deseas usar, asegúrate de poner un nuevo nombre a tus funciones personalizadas.
Title:
Funciones Mágicas (Versión en Video)
Description:

more » « less
Video Language:
English
Duration:
04:02
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Magic Functions (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Magic Functions (Video Version)
Martha Isabel Soriano Ruiz edited Spanish, Mexican subtitles for Magic Functions (Video Version)

Spanish, Mexican subtitles

Revisions