Return to Video

Úprava polí

  • 0:01 - 0:05
    Zatím jsme si ukázali,
    jak vytvořit pole a pracovat s ním.
  • 0:05 - 0:07
    Stejně jako jiné proměnné,
  • 0:07 - 0:13
    i pole můžeme dynamicky měnit
    během vykonávání kódu.
  • 0:13 - 0:16
    Ukážu vám, co mám na mysli.
  • 0:16 - 0:18
    Zde máme program,
  • 0:18 - 0:21
    který zobrazuje Hoppera
    držícího několik balónků.
  • 0:22 - 0:27
    A funguje to tak, že tady máme
    pole xPositions se dvěma čísly,
  • 0:27 - 0:30
    která určují polohu balónků.
  • 0:30 - 0:32
    A tady dolů máme cyklus.
  • 0:32 - 0:36
    A tento cyklus prochází
    každý prvek pole.
  • 0:36 - 0:40
    A pro každý prvek nakreslí čáru
    z pozice x směrem k Hopperově ruce.
  • 0:40 - 0:46
    Poté v pozici x nakreslí elipsu,
    která má velikost 30 x 40 pixelů.
  • 0:46 - 0:48
    A to je náš balónek.
  • 0:50 - 0:51
    Teď už víme, jak to funguje.
  • 0:51 - 0:54
    Pokud chceme další balónek,
  • 0:54 - 0:59
    jednoduše do pole přidáme další číslo,
    jako například 300.
  • 0:59 - 1:03
    Pěkné, teď pro Hoppera
    máme 3 balónky.
  • 1:03 - 1:09
    Co kdybychom ale chtěli dát uživateli,
    který neumí programovat,
  • 1:09 - 1:11
    schopnost přidávat nové balónky.
  • 1:11 - 1:13
    Dali bychom uživateli
    program a řekli:
  • 1:13 - 1:18
    "Klikni tam, kde bys chtěl mít
    balónek a on se tam objeví."
  • 1:18 - 1:20
    Nebylo by to skvělé?
  • 1:21 - 1:24
    Jak bychom to ale měli provést?
  • 1:24 - 1:26
    Chceme, aby se náš program
    průběžně měnil.
  • 1:26 - 1:31
    Pokaždé, když uživatel klikne,
    objeví se nahoře balónek.
  • 1:31 - 1:35
    Začneme tím, že vše
    přesuneme do draw function.
  • 1:35 - 1:37
    Tím bude jednoduché věci
    průběžně měnit.
  • 1:37 - 1:43
    Toto přesuneme dolů
    a pěkně odsadíme.
  • 1:43 - 1:49
    Teď chceme zkontrolovat,
    zda uživatel kliká myší právě teď.
  • 1:49 - 1:50
    Můžeme to udělat pomocí if.
  • 1:50 - 1:55
    Napíšeme "if(mouseIsPressed)"
    a něco k tomu doplníme.
  • 1:57 - 2:02
    Pokud dojde ke kliknutí myší,
    chceme do pole přidat další číslo.
  • 2:02 - 2:05
    Pojďme vrátit dva prvky.
  • 2:05 - 2:08
    Nějakým způsobem chceme
    do pole přidat číslo.
  • 2:08 - 2:11
    Ukážu vám jeden způsob,
    jak bychom to mohli udělat.
  • 2:11 - 2:18
    Napíšeme:
    xPositions[2]=mouseX
  • 2:19 - 2:22
    Ukážu vám, že to funguje.
  • 2:22 - 2:25
    Klikla jsem a mám zde balónek!
  • 2:25 - 2:27
    Co se stalo?
  • 2:27 - 2:30
    Program si u xPositions[2] řekl:
  • 2:30 - 2:36
    Najdi toto pole a jeho prvek č. 2,
    a jak víte, to je vlastně třetí prvek.
  • 2:36 - 2:38
    Protože pole jsou
    založena na nule.
  • 2:38 - 2:41
    A pokud se podíváte,
    nemáme žádný třetí prvek.
  • 2:41 - 2:42
    Na tom místě nic není.
  • 2:42 - 2:46
    Takže to říká: najdi ho
    a vlož do něj mouseX.
  • 2:46 - 2:51
    A protože tam nic není,
    mění se to z ničeho v mouseX.
  • 2:51 - 2:55
    Takže nyní naše pole
    obsahuje 3 položky.
  • 2:55 - 3:00
    A když si ho projede tento cyklus for,
    nakreslí se třetí balónek.
  • 3:00 - 3:03
    To je hodně dobré,
    zkusím pokračovat v klikání.
  • 3:04 - 3:08
    Při každém kliknutí
    se nakreslí třetí balónek.
  • 3:08 - 3:11
    A to kdekoli kliknu myší.
  • 3:11 - 3:16
    Je to kvůli tomu, že se neustále
    přepisuje prvek č. 2.
  • 3:16 - 3:19
    Ta věc s indexem 2.
  • 3:19 - 3:23
    Neustále to přepisujeme s
    aktuální pozicí mouseX.
  • 3:23 - 3:26
    Takže vždy budeme mít
    jenom 3 balónky.
  • 3:26 - 3:30
    Protože první máme na místě 0,
    druhý máme na místě 1,
  • 3:30 - 3:34
    a ten na místě 2 neustále
    měníme v průběhu programu.
  • 3:35 - 3:37
    A to je super, ale
    co opravdu chceme,
  • 3:37 - 3:40
    je dát uživatelovi volnost
    udělat hodně balónků.
  • 3:40 - 3:43
    Pokaždé když klikne,
    objeví se nový balónek.
  • 3:43 - 3:44
    A to znamená,
  • 3:44 - 3:51
    že musíme přičítat přírůstek indexu
    pro prvek pole, ve kterém ho ukládáme.
  • 3:51 - 3:53
    Nechceme, aby to bylo pokaždé 2.
  • 3:53 - 3:56
    Chceme, aby to bylo
    2, 3, 4, 5 a 6 a tak dále.
  • 3:56 - 3:59
    Mohli bychom to udělat
    pomocí počítadla.
  • 3:59 - 4:01
    Napíšeme "newInd = 2".
  • 4:01 - 4:03
    S tím začneme.
  • 4:03 - 4:06
    A tady namísto
    2 řekneme newInd.
  • 4:06 - 4:10
    A potom řekneme
    newInd++.
  • 4:10 - 4:12
    Pokaždé k tomu přičteme 1.
  • 4:12 - 4:15
    Začne to na 2, poté se to stane 3,
    poté 4.
  • 4:15 - 4:18
    A po každém kliknutí
    se to zvětší, zkusme to.
  • 4:20 - 4:22
    Balónková párty!
  • 4:22 - 4:25
    To vypadá hezky.
  • 4:25 - 4:27
    Ale není to úplně nejlepší
    způsob, jak to provést.
  • 4:27 - 4:29
    Jak se ukazuje,
  • 4:29 - 4:32
    přidávání věcí do pole je něco,
    co chceme dělat opravdu často.
  • 4:32 - 4:35
    Proto existuje mnohem jednodušší
    způsob než tento.
  • 4:35 - 4:39
    Vymažu věci, co jsme udělali.
  • 4:39 - 4:43
    Toto už nepotřebujeme,
    jednoduše to zakomentuji.
  • 4:43 - 4:48
    Teď napíšeme:
    xPositions.push
  • 4:48 - 4:51
    A do závorek
    napíšeme mouseX.
  • 4:51 - 4:52
    To, co teď děláme,
  • 4:52 - 4:56
    je že přivoláváme tuto metodu
    pro pole xPositions.
  • 4:56 - 4:58
    Voláme něco jako příkaz.
  • 4:58 - 5:00
    Říkáme poli:
  • 5:00 - 5:05
    Vem tuto novou hodnotu, mouseX,
    a vlož ji na konec svého pole.
  • 5:05 - 5:13
    Při každém zavolání se to tedy podívá
    na mouseX a vloží to na konec pole.
  • 5:13 - 5:15
    Pole se bude zvětšovat a
    zvětšovat a zvětšovat.
  • 5:15 - 5:17
    Pojďme to spustit znovu.
  • 5:18 - 5:19
    Funguje to!
  • 5:19 - 5:22
    A použili jsme k tomu
    mnohem méně kódu než předtím.
  • 5:23 - 5:27
    Většinou budete používat push,
    pokud budete chtít k poli něco přidat.
  • 5:27 - 5:29
    A to je celkem užitečné,
  • 5:29 - 5:32
    protože pak budete mít pole,
    která se zvětšují a zvětšují.
  • 5:32 - 5:34
    A to se hodí u animace nebo
    při interakci s uživatelem.
  • 5:34 - 5:36
    A pak toho můžete
    udělat mnohem více.
  • 5:36 - 5:40
    Teď jste pravděpodobně viděli
    90% nejčastějších použití polí.
  • 5:40 - 5:42
    Způsoby, kterými je použijete.
  • 5:42 - 5:44
    Ale můžete s nimi toho
    dělat mnohem více.
  • 5:44 - 5:47
    Pokud máte otázky,
    ptejte se v diskuzi.
  • 5:47 - 5:50
    Ale nejdřív se ujistěte se, že
    jste pochopili tyto základy.
Title:
Úprava polí
Description:

Pamela ukazuje, jak upravit pole, zatímco je váš kód spuštěn, jak přidávat nebo měnit hodnoty.

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

Czech subtitles

Revisions