< Return to Video

Resizing shapes with variable expressions

  • 0:01 - 0:02
    Wracamy do Winstona.
  • 0:02 - 0:07
    Mamy już zmienne "x" i "y"
    określające jego pozycję.
  • 0:07 - 0:10
    Możemy przesuwać go na boki,
  • 0:10 - 0:13
    w górę i w dół... Świetnie!
  • 0:14 - 0:19
    Zmodyfikujmy wartości zmiennych.
    Dajmy 200 i 200.
  • 0:19 - 0:23
    Zobaczmy jeszcze raz,
    jak ten program działa.
  • 0:23 - 0:24
    Zaczynamy tutaj.
  • 0:25 - 0:28
    Jest zmienna "eyeSize"
    określająca wielkość oczu.
  • 0:28 - 0:32
    Mają 40 pikseli szerokości
    i 40 pikseli wysokości.
  • 0:32 - 0:35
    Są też zmienne "x" i "y".
  • 0:36 - 0:39
    Określają środek twarzy.
  • 0:40 - 0:44
    Widzimy je w poleceniu "ellipse",
    które rysuje duże żółte koło.
  • 0:46 - 0:51
    Zmienne "x" i "y"
    przydają się też przy oczach.
  • 0:51 - 0:54
    Tutaj oczy są rozmieszczone
  • 0:54 - 0:56
    względem środka twarzy,
  • 0:57 - 1:01
    to znajduje się 50 pikseli
    w lewo od środka,
  • 1:01 - 1:05
    a to - 100 pikseli w prawo.
  • 1:06 - 1:08
    No dobrze.
  • 1:08 - 1:12
    Dzięki temu możemy przesuwać
    Winstona w górę i w dół.
  • 1:12 - 1:17
    Chcę kontrolować więcej elementów
    jego twarzy, z użyciem zmiennych.
  • 1:17 - 1:21
    Zastanawiam się, co jeszcze
    możemy przechowywać jako zmienne.
  • 1:21 - 1:24
    Przyjrzę się każdej linii kodu
  • 1:24 - 1:28
    i poszukam ręcznie wpisanych liczb.
  • 1:28 - 1:31
    To po prostu liczby,
  • 1:31 - 1:34
    a nie zmienne.
    Nie zależą od zmiennych.
  • 1:34 - 1:38
    Zacznijmy od pierwszego
    przywołania elipsy.
  • 1:38 - 1:41
    Mamy 300 i 300
    dla szerokości i wysokości.
  • 1:42 - 1:43
    To po prostu liczby.
  • 1:43 - 1:48
    Zróbmy z nich zmienną
    o nazwie "faceSize"
  • 1:48 - 1:51
    i niech przechowuje 300.
  • 1:51 - 1:54
    Wpiszę "faceSize"...
  • 1:54 - 1:56
    "faceSize". Dobrze.
  • 1:56 - 1:58
    I dalej. Kolory opuścimy.
  • 1:58 - 2:01
    Teraz polecenia dotyczące elipsy
  • 2:01 - 2:05
    są zmiennymi lub zależą od zmiennych.
    Na razie tak je zostawię.
  • 2:05 - 2:09
    W poleceniu dotyczącym ust
    te wartości zależą od "x" i "y"
  • 2:10 - 2:13
    a te - to po prostu liczby.
  • 2:13 - 2:14
    150 i 150.
  • 2:15 - 2:18
    Napiszemy więc "mouthSize"...
  • 2:19 - 2:21
    Wartość: 150.
  • 2:22 - 2:25
    Zastąpimy to "mouthSize".
  • 2:25 - 2:28
    I... "mouthSize".
    W porządku.
  • 2:28 - 2:33
    Mamy wielkości figur
    przechowane jako zmienne u góry.
  • 2:33 - 2:36
    Dzięki temu będzie łatwo je zmieniać.
  • 2:36 - 2:39
    O, tak. Winston jest głodny!
  • 2:39 - 2:41
    A teraz...
  • 2:42 - 2:45
    Zgłodniał, najadł się pączków
  • 2:45 - 2:47
    i jest teraz olbrzymi!
  • 2:47 - 2:52
    Ale nie podoba mi się
    coś w programie.
  • 2:52 - 2:56
    Jeśli zmienię "faceSize"
  • 2:56 - 2:59
    tak, żeby twarz była malutka,
  • 3:00 - 3:05
    uzyskam coś dziwnego.
    Usta i oczy wystają.
  • 3:05 - 3:11
    Wydaje się, że nie są nawet
    z nią połączone. To już nie twarz!
  • 3:12 - 3:16
    Chcę, żeby przy zmianie
    wielkości twarzy
  • 3:17 - 3:22
    usta i oczy także się zmieniały.
  • 3:22 - 3:24
    Jeśli zmniejszę twarz o połowę,
  • 3:25 - 3:28
    to niech usta
    zmaleją proporcjonalnie.
  • 3:28 - 3:29
    To oznacza, że...
  • 3:30 - 3:33
    chcę przedstawić wielkość
    oczu i ust
  • 3:33 - 3:36
    jako ułamek wielkości twarzy.
  • 3:37 - 3:38
    Dobrze.
  • 3:38 - 3:42
    Określmy zmienne
    i pokażę, o co chodzi.
  • 3:42 - 3:44
    Zacznijmy od "mouthSize".
  • 3:44 - 3:48
    Teraz "faceSize" wynosi 300,
  • 3:48 - 3:51
    a "mouthSize" to 150.
  • 3:51 - 3:53
    Zestawiając te wartości,
  • 3:53 - 3:57
    powiemy, że "faceSize"
    jest 2 razy większe od "faceSize".
  • 3:57 - 4:02
    Albo że "mouthSize"
    jest połową "faceSize".
  • 4:02 - 4:04
    Napiszemy to tak.
  • 4:04 - 4:08
    Jedna druga razy "faceSize".
  • 4:08 - 4:12
    Dobrze. Ta linia mówi,
    że bierzemy wartość "faceSize",
  • 4:12 - 4:16
    mnożymy ją przez 0,5
    i przechowujemy w "mouthSize".
  • 4:16 - 4:18
    Jeśli więc zmienimy to,
  • 4:18 - 4:22
    program wyliczy połowę
    i zrobi mniejsze usta.
  • 4:22 - 4:25
    Doskonale. O to chodziło.
  • 4:25 - 4:27
    Teraz wielkość oczu.
  • 4:28 - 4:31
    "FaceSize" wynosi 300,
    a "eyeSize" 40.
  • 4:31 - 4:37
    Zatem interesuje nas
    40/300 wartości "faceSize".
  • 4:37 - 4:41
    Czyli... zobaczmy... 4 przez 30...
  • 4:41 - 4:44
    i skrócimy do 2/15.
  • 4:44 - 4:49
    Mamy więc 2/15 "faceSize".
  • 4:50 - 4:53
    Jeśli to sprawia wam trudność,
  • 4:53 - 4:57
    bo nie znacie jeszcze ułamków,
    obejrzyjcie filmy w Khan Academy
  • 4:57 - 5:01
    i wróćcie tutaj,
    gdy będziecie gotowi.
  • 5:03 - 5:07
    No dobrze. Spróbujmy jeszcze raz
    zmienić wielkość twarzy.
  • 5:07 - 5:12
    Ha! Patrzcie! Usta i oczy
    zmieniają się proporcjonalnie!
  • 5:12 - 5:15
    Ale widzicie, że coś jest nie tak.
  • 5:16 - 5:19
    Oczy i usta nadal wystają poza twarz,
  • 5:20 - 5:23
    choć mają już odpowiednią wielkość.
  • 5:23 - 5:29
    To dlatego, że zostały jeszcze
    liczby w "ellipse".
  • 5:29 - 5:32
    A powinny być ułamkami zmiennych.
  • 5:34 - 5:35
    Pokażę.
  • 5:35 - 5:38
    Zatem elipsa-oko
  • 5:38 - 5:41
    ma pozycję "x - 50".
  • 5:41 - 5:47
    I zawsze tyle, nawet jeśli
    twarz jest mniejsza niż 50 pikseli.
  • 5:47 - 5:52
    To bez sensu, bo lewe oko
    nie zmieści się w twarzy.
  • 5:53 - 5:57
    Powinno być "x" minus ułamek
    wielkości twarzy.
  • 5:58 - 6:00
    Ułamek wyliczymy tak samo.
  • 6:00 - 6:04
    50 podzielić przez 300.
  • 6:04 - 6:06
    A 50 przez 300...
  • 6:06 - 6:08
    to 5/30 czyli 1/6.
  • 6:08 - 6:11
    1/6 razy "faceSize".
  • 6:12 - 6:14
    Tutaj też jest jeszcze 50,
  • 6:14 - 6:17
    więc mamy to samo wyrażenie.
  • 6:18 - 6:20
    Tu jest 100 przez 300.
  • 6:20 - 6:23
    Czyli 1/3 razy "faceSize".
  • 6:23 - 6:25
    Tutaj mamy 60,
  • 6:25 - 6:29
    więc będzie 1/5 razy "faceSize",
  • 6:30 - 6:34
    a tu znowu 50, więc 1/6.
  • 6:35 - 6:38
    I jeszcze 40.
    To obliczyliśmy tutaj.
  • 6:38 - 6:40
    2/15.
  • 6:40 - 6:45
    2/15 razy "faceSize".
  • 6:45 - 6:48
    Dobrze. Spróbujmy jeszcze raz.
  • 6:48 - 6:52
    Patrzcie tylko! Pięknie!
  • 6:52 - 6:55
    Bardzo dobrze. Powtórzmy.
  • 6:55 - 6:58
    Stworzyliśmy zmienną
    przechowującą wielkość twarzy.
  • 6:58 - 7:00
    Przechowuje ją jako liczbę.
  • 7:00 - 7:03
    Mamy też zmienne
    "mouthSize" i "eyeSize",
  • 7:03 - 7:07
    które przedstawiamy w postaci
    ułamków "faceSize",
  • 7:07 - 7:10
    by ich wartości zmieniały się
  • 7:10 - 7:13
    zależnie od wartości początkowej.
  • 7:13 - 7:17
    Całą resztę także obliczamy
    na podstawie "faceSize",
  • 7:17 - 7:22
    by zmieniała się pozycja
    elementów w twarzy.
  • 7:22 - 7:28
    Już umiemy robić zmienne
    zależne od innych zmiennych.
  • 7:28 - 7:30
    Mamy mnóstwo nowych możliwości.
  • 7:30 - 7:34
    Uczcijmy to, sprawiając,
    że Winston będzie wielki!
  • 7:35 - 7:37
    Tak, Winston!
Title:
Resizing shapes with variable expressions
Description:

This is a video recording of a talk-through, uploaded to make it easier to create subtitles. Please watch the original interactive talk-through on Khan Academy, where you can pause and edit the code and see the code in better resolution: http://www.khanacademy.org/programming

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

Polish subtitles

Revisions