Return to Video

Variable Expressions (Video Version)

  • 0:02 - 0:04
    ¡Estamos de vuelta con Winston!
  • 0:04 - 0:09
    Y ahora tenemos tenemos una variable "x" y una "y" para la posición de Winston,
  • 0:09 - 0:12
    así que ahora podemos hacer que Winston,
    salte arriba y abajo,
  • 0:12 - 0:15
    ...que sea como
    ¡Fiesta de Wilson!
  • 0:15 - 0:20
    Revisemos lo que hace este código,
    antes de continuar.
  • 0:20 - 0:23
    Tenemos estas variable "x" e "y" arriba,
  • 0:23 - 0:26
    que almacenan la posición del centro
    de la cara de Winston,
  • 0:26 - 0:30
    y las cuales utilizamos en esta línea aquí,
    cuando hacemos la elipse para su cara,
  • 0:30 - 0:33
    luego, posicionamos los ojos
    y la boca, en posición relativa...
  • 0:33 - 0:39
    ... al centro de la cara,
    así que restamos o sumamos a "x" y a "y",
  • 0:39 - 0:44
    para asegurarnos de que los ojos
    estén a 50 píxeles, o a 100 píxeles...
  • 0:44 - 0:50
    Por ejemplo, la boca, está a 50 píxeles
    a la derecha del centro de la cara,
  • 0:50 - 0:56
    y 40 píxeles debajo
    del centro de la cara.
  • 0:56 - 1:01
    Así que, continuemos y veamos qué más podemos almacenar en variables.
  • 1:01 - 1:05
    Para ello, voy a ir en cada línea
    y buscar lo que llamamos,
  • 1:05 - 1:09
    números "hardcodeados"
    [yo, el traductor digo así en "mi" castellano :P ]
  • 1:09 - 1:12
    Esos son números que están
    directamente como números...
  • 1:12 - 1:15
    ...no variables, ni dependiendo de variables.
  • 1:15 - 1:17
    Veamos,
  • 1:17 - 1:23
    en nuestra primera llamada a ellipse() aquí,
    tenemos 300 y 300 para el ancho y alto,
  • 1:23 - 1:27
    así que podemos hacer una variable para esto
    como "faceSize".
  • 1:27 - 1:30
    Entonces, faceSize=300;
  • 1:30 - 1:32
    y luego podemos pasar faceSize...
    aquí,
  • 1:32 - 1:38
    y ahora pasará 300 como valor.
  • 1:39 - 1:46
    Ahora, continuemos...
    Todo aquí está usando "x" o "y" o "eyeSize",
  • 1:46 - 1:48
    pero aquí, para la boca,
    una vez más, tenemos 150 y 150...
  • 1:51 - 1:54
    ... para el ancho y el alto,
    así que podemos hacer una variable mouthSize,
  • 1:54 - 2:01
    decimos mouthSize = 150...
    ... y continuamos y pasamos mouthSize aquí,
  • 2:01 - 2:04
    entonces está pasando 150,
    porque a eso es igual la variable.
  • 2:05 - 2:07
    Entonces, ahora que hemos hecho eso,
  • 2:07 - 2:11
    podríamos cambiar fácilmente,
    el tamaño de la cara aquí,
  • 2:11 - 2:16
    y podemos cambiar facilmente
    el tamaño de la boca, así,
  • 2:16 - 2:20
    y le cambiamos el tamaño
    de los ojos nuevamente,
  • 2:20 - 2:22
    entonces, eso es genial
    pero...
  • 2:22 - 2:29
    ... hay algo que no me gusta acerca de eso,
    y es que, cuando cambio el tamaño de la cara,
  • 2:29 - 2:34
    en realidad, quiero que todo lo demás
    cambie con tamaño relativo...
  • 2:34 - 2:35
    ... al tamaño de la cara.
  • 2:35 - 2:39
    de manera de que si
    hago la cara así de pequeña,
  • 2:39 - 2:41
    quiero que sus ojos y su boca
    sean también pequeños.
  • 2:41 - 2:45
    Si hago la cara,
    la mitad del tamaño original,
  • 2:45 - 2:48
    los ojos y la boca
    también deberían ser de la mitad del tamaño,
  • 2:48 - 2:51
    porque, de lo contrario,
    sólo se ve muy tonto,
  • 2:51 - 2:54
    porque sus ojos y su boca
    son muy grandes, para su cara.
  • 2:54 - 2:57
    Ni siquiera están conectados ya.
  • 2:57 - 3:00
    Así que, lo que queremos hacer,
    es que de alguna manera, estas variables,
  • 3:00 - 3:06
    ...mouthSize y eyeSize
    dependan de esta variable, faceSize.
  • 3:06 - 3:09
    Entonces, volvámoslo a lo que estaba.
  • 3:09 - 3:12
    Y entonces, la manera en la que
    podemos hacer esto, es...
  • 3:12 - 3:17
    podemos hacer que estos valores
    estén basados en el valor de faceSize,
  • 3:17 - 3:22
    así que podemos decir
    mouthSize = faceSize /2
  • 3:22 - 3:24
    entonces estamos usando
    una fracción de la cara,
  • 3:24 - 3:28
    estamos diciendo:
    "la mitad del tamaño de la cara",
  • 3:28 - 3:32
    y si no sabés mucho de fracciones,
    hay toneladas de videos en Khan Academy,
  • 3:32 - 3:37
    que puedes usar para revisar
    cómo funcionan las fracciones, ¿Bien?
  • 3:37 - 3:42
    Ahora, para eyeSize, es
    eyeSize = faceSize / 4
  • 3:42 - 3:47
    no es perfecto, pero, bastante bien...
    ¡Oh! mejor, 7. Ahí vamos, así está mejor.
  • 3:47 - 3:51
    ¿Ves? Si te equivocas con la fracción al principio,
    siempre puedes arreglarlo más tarde,
  • 3:51 - 3:55
    sólo ajústalo a un número
    hasta que tenga sentido.
  • 3:55 - 3:59
    Ok, entonces, ahora,
    si cambiamos el tamaño de la cara nuevamente,
  • 3:59 - 4:03
    ¿Ves cómo el tamaño de los ojos y la boca
    se está modificando junto con ella?
  • 4:03 - 4:08
    ¡Bastante genial!
    Pero todavía hay algo mal...
  • 4:08 - 4:13
    Los ojos y la boca, todavía se están yendo
    fuera de la cara cuando la hacemos muy chica.
  • 4:13 - 4:17
    El problema es
    la distancia a la cara.
  • 4:17 - 4:25
    lo que está pasando es que aquí abajo,
    cuando posicionamos la elipse,
  • 4:25 - 4:28
    tenemos x - 50
  • 4:28 - 4:32
    y "y - 50".
    x era 100, y - 60,
  • 4:32 - 4:38
    así que, aunque faceSize sólo es 50px,
    todavía tenemos la posición de los ojos,
  • 4:38 - 4:44
    en -50px en el centro.
    Lo que la dejará fuera de la cara.
  • 4:44 - 4:48
    Así que necesitamos para 50 y 100
    y todos estos números aquí...
  • 4:48 - 4:52
    ... Todos ellos, también deberían ser fracciones
    del tamaño de la cara,
  • 4:52 - 4:56
    de manera de que
    cuando el tamaño de la cara cambie,
  • 4:56 - 4:59
    la cantidad que los ojos y la boca estén
    desplazados con respecto a la cara,
  • 4:59 - 5:02
    esos números,
    también cambien.
  • 5:02 - 5:05
    Bien, entonces,
    voy a mostrarte lo que quiero decir,
  • 5:05 - 5:09
    hagamos el primero ojo.
    x - 50
  • 5:09 - 5:13
    Eso significa que debería haber
    50 píxeles a la izquierda del centro de la cara.
  • 5:13 - 5:16
    Lo que en realidad queremos ahora,
    es usar las fracciones,
  • 5:16 - 5:20
    así que será
    faceSize / 6
  • 5:20 - 5:24
    Entonces, un sexto del
    tamaño de la cara,
  • 5:24 - 5:30
    y entonces 50 será también
    faceSize / 6
  • 5:30 - 5:33
    Entonces, ahora si cambiamos el tamaño de la cara,
  • 5:33 - 5:36
    nota cómo ese ojo está
    perfectamente posicionado.
  • 5:36 - 5:39
    ¡Bueno ojo Winston!
    ¡Bueno ojo!
  • 5:39 - 5:42
    Aunque, el otro ojo, todavía necesita
    un poco de ayuda,
  • 5:42 - 5:47
    Entonces, "100" sería
    faceSize / 3
  • 5:47 - 5:49
    es decir,
    un tercio del tamaño de la cara.
  • 5:49 - 5:54
    Y "60" es, un quinto del tamaño de la cara
    faceSize / 5
  • 5:54 - 5:58
    ¡Bien!, cambiemos el tamaño...
    ... muy lindo...
  • 5:58 - 6:01
    ...todavía tenemos
    un problema con la boca.
  • 6:01 - 6:07
    Entonces, vamos a la boca...
    Este es, quizás faceSize / 6 nuevamente...
  • 6:07 - 6:12
    ... Y este es más o menos faceSize / 7
  • 6:12 - 6:17
    Bien, ahora todo está hecho proporcionalmente.
    Chequeemos, ¡uhhh!
  • 6:17 - 6:19
    Ahora podemos hacer a Winston
    bien pequeño...
  • 6:19 - 6:23
    ... y sus ojos y su cara
    siguen adentro de su cara...
  • 6:23 - 6:27
    ... ¡Estoy segura de que Winston
    está realmente contento por ello!
  • 6:27 - 6:31
    ¡Bien!
    Revisemos lo que estamos haciendo aquí...
  • 6:31 - 6:34
    Entonces, arriba
    tenemos nuestras variables,
  • 6:34 - 6:38
    y comenzamos con una variable que
    sólo está almacenando un número. 200.
  • 6:38 - 6:43
    Pero luego hicimos que las variables mouseSize
    y eyeSize sean dependientes de ese número,
  • 6:43 - 6:44
    como fracciones de ese número,
  • 6:44 - 6:48
    de manera de que, cuando faceSize era 200,
    entonces mouseSize será 100,
  • 6:48 - 6:51
    pero si cambiamos faceSize a 300,
  • 6:51 - 6:54
    entonces mouseSize, será de repente, 150.
  • 6:54 - 6:57
    Entonces siempre estamos
    cambiando en proporción.
  • 6:57 - 7:00
    Luego aquí abajo,
    cuando calculamos las distancias,
  • 7:00 - 7:03
    también utilizamos fracciones
    porque queremos que las distancias,
  • 7:03 - 7:09
    también cambien proporcionalmente
    al tamaño de la cara.
  • 7:09 - 7:15
    Básicamente sólo queremos hacer
    que sólo una variable afecte todo,
  • 7:15 - 7:20
    y podemos hacer eso
    con variables y expresiones de variables.
  • 7:20 - 7:23
    Así que, ahora que entendemos cómo hacer
    que unas variables,
  • 7:23 - 7:25
    dependan de los valores de otras variables,
  • 7:25 - 7:27
    podemos hacer mucho más
    con nuestros programas.
  • 7:27 - 7:31
    Celebremos, haciendo a Winston
    gigante...
  • 7:31 - 7:33
    ¡Vamos Winston,
    sigue, sigue!
  • 7:34 - 7:36
    ¡Nunca pares, sigue,
    nahhhhhhhh jajaja!
Title:
Variable Expressions (Video Version)
Description:

This is just a screen grab of our interactive coding talk-through, prepared to make captioning and translation easier. It is better to watch our talk-throughs here:
https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
07:42

Spanish, Argentinian subtitles

Revisions