Return to Video

Function Parameters (Video Version)

  • 0:00 - 0:04
    Pokračujeme s programem kreslícím
    Winstona.
  • 0:04 - 0:06
    Přidala jsem k němu nějaký text.
  • 0:06 - 0:11
    Bude potřeba umístit každého
    Winstona pod jeden štítek.
  • 0:11 - 0:13
    Daný štítek ho zobrazí
    v určitém bodě života.
  • 0:13 - 0:15
    Teď máme Winstony rozházené všude.
  • 0:15 - 0:20
    To proto, že faceX a faceY jsou nastavena
    jako náhodná čísla.
  • 0:20 - 0:27
    Chceme tedy říci: „Toto je přesná pozice,
    kde chceme, abys nakreslil Winstona."
  • 0:27 - 0:30
    Chceme mít možnost určit tuto pozici,
    když zavoláme funkci.
  • 0:30 - 0:34
    Přesně tak jako u funkcí elipse() a rect().
  • 0:34 - 0:40
    Chceme dát Winstona sem, tady,
    jednoho sem a jednoho sem.
  • 0:40 - 0:45
    Nechceme náhodnou pozici,
    když zavoláme funkci.
  • 0:45 - 0:50
    Abychom to mohli udělat, musíme určit
    "parametry" funkce.
  • 0:50 - 0:54
    Musí být přímo v definici
    naší funkce, tedy zde úplně nahoře.
  • 0:54 - 0:58
    A pak se použijí, když voláme naší funkci,
    tady dole.
  • 0:58 - 1:03
    Pro funkci drawWinston (),
    tedy určíme parametry faceX a faceY.
  • 1:03 - 1:11
    Použijeme tyto hodnoty,
    místo náhodného generování.
  • 1:11 - 1:15
    Co bychom přidali do volání těchto funkcí,
    když chceme umístit Winstony pod text?
  • 1:15 - 1:25
    Chceme, aby x a y každého Winstona byly
    podobné číslům, které jsou ve funkci text.
  • 1:25 - 1:29
    Možná tak o 10 pixelů níž u parametru y.
  • 1:29 - 1:33
    První dáme na 10 a 30.
  • 1:33 - 1:41
    Pak třeba 200 a 30 ...
    10 a 230 ... a 200 a 230.
  • 1:41 - 1:46
    Je to stejné jako textové souřadnice,
    jen přidáváme 10 ke každému y.
  • 1:46 - 1:50
    Chceme Winstona trošku níž než text.
  • 1:50 - 1:52
    Winston se ale stále nepohnul.
  • 1:52 - 1:57
    Neřekli jsme totiž naší funkci,
    že chceme používat parametry.
  • 1:57 - 2:00
    Funkce stále tedy používá náhodné hodnoty
    místo parametrů.
  • 2:00 - 2:05
    Naší funkci ale chceme říct,
    že místo náhodných čísel má použít zadané parametry.
  • 2:05 - 2:10
    Názvy parametrů proto musíme dát
    do těchto závorek.
  • 2:10 - 2:15
    Nazveme je faceX a faceY
    a oddělíme je čárkou.
  • 2:15 - 2:21
    Na tyto parametry už odkazujeme uvnitř funkce
  • 2:21 - 2:25
    a díky tomu nemusíme
    přepisovat zbytek našeho kódu.
  • 2:25 - 2:29
    Pořád se ale nic nestalo.
    Winstonové se nepohnuli.
  • 2:29 - 2:31
    Podívejte se na začátek naší funkce.
  • 2:31 - 2:36
    Tady totiž přepisujeme faceX a faceY
    náhodnými hodnotami.
  • 2:36 - 2:43
    Takže teď nám stačí akorát
    smazat tyto řádky.
  • 2:43 - 2:46
    Nyní se už faceX a faceY dostávají
    správně do funkce.
  • 2:46 - 2:51
    Používají se hodnoty,
    které voláme.
  • 2:51 - 2:54
    Ale nepodařilo se nám trefit
    pozice úplně správně.
  • 2:54 - 3:02
    Zapomněli jsme, že text získá pozici podle
    levého horního rohu a obličej podle středu.
  • 3:03 - 3:06
    Musíme si teď trošku pohrát s čísly.
  • 3:06 - 3:15
    Měli bychom asi dost posunout x souřadnici.
  • 3:15 - 3:19
    Takže teď měním hodnoty, které
    vkládáme do funkce.
  • 3:19 - 3:23
    Nemusím už měnit
    celou definici funkce.
  • 3:23 - 3:27
    Vždycky se použijí tato čísla
    jako hodnoty do naší funkce.
  • 3:27 - 3:30
    Přesně tak jako u funkcí
    ellipse() a rect().
  • 3:30 - 3:33
    Pozice jsem už spravila, ale
    všimněte si, že Winston je příliš velký.
  • 3:33 - 3:36
    Obličeje se překrývají a
    nevejdou se vedle sebe.
  • 3:36 - 3:39
    Kód k nakreslení obličeje je vložený
    přímo do funkce.
  • 3:39 - 3:42
    Můžeme tedy změnit velikost
    u všech najednou.
  • 3:42 - 3:45
    Stačí změnit řádek
    kódu, který kreslí elipsu.
  • 3:45 - 3:49
    Pokud sem napíšu třeba 190,
    tak bude Winston moc hubený.
  • 3:49 - 3:55
    Ještě sem 190, teď už se vejdou lépe.
  • 3:55 - 4:03
    Dál bychom ho mohli upravit tak,
    aby se vešel hezky mezi texty.
  • 4:03 - 4:06
    Zopakujme si teď, co tento kód dělá.
  • 4:06 - 4:10
    Definuje funkci
    nazvanou drawWinston().
  • 4:10 - 4:15
    Říká také, že tato funkce má dvě hodnoty
    označené jako faceX a faceY.
  • 4:15 - 4:20
    Tyto hodnoty jsou proměnné.
    Můžeme je tak použít kdekoli uvnitř funkce.
  • 4:20 - 4:25
    Třeba tady jsme je použili jako proměnné.
  • 4:25 - 4:29
    Poté, co máme funkci hotovou,
    ji můžeme zavolat, kdykoli chceme.
  • 4:29 - 4:35
    Můžeme jí předávat různé hodnoty,
    takže použije vždy nové hodnoty.
  • 4:35 - 4:38
    Ukázali jsme si tedy,
    jaká je výhoda funkcí.
  • 4:38 - 4:41
    Můžeme je použít na kód,
    který potřebujeme použít opakovaně.
  • 4:41 - 4:46
    Můžeme také pomocí parametrů říct:
    „V kódu je něco, co můžeš změnit.“
  • 4:46 - 4:49
    Je to jako recept.
    Zapíšete si obecný postup.
  • 4:49 - 4:53
    A pak si uvědomíte, že potřebujete
    uvařit pro 4 Winstony, ne pro 1.
  • 4:53 - 4:56
    Nemusíte začínat znovu.
    Stačí upravit původní postup
  • 4:56 - 4:58
    a třeba to celé 4 krát vynásobit.
  • 4:58 - 5:02
    A teď je čas na vymýšlení
    receptů ve vašem kódu.
Title:
Function Parameters (Video Version)
Description:

more » « less
Video Language:
English
Duration:
05:05

Czech subtitles

Revisions