0:00:01.264,0:00:04.813 Zatím jsme si ukázali,[br]jak vytvořit pole a pracovat s ním. 0:00:04.813,0:00:06.641 Stejně jako jiné proměnné, 0:00:06.641,0:00:12.560 i pole můžeme dynamicky měnit[br]během vykonávání kódu. 0:00:13.206,0:00:16.124 Ukážu vám, co mám na mysli. 0:00:16.124,0:00:17.916 Zde máme program, 0:00:17.916,0:00:21.193 který zobrazuje Hoppera[br]držícího několik balónků. 0:00:22.410,0:00:26.739 A funguje to tak, že tady máme[br]pole xPositions se dvěma čísly, 0:00:26.739,0:00:30.010 která určují polohu balónků. 0:00:30.010,0:00:32.331 A tady dolů máme cyklus. 0:00:32.331,0:00:35.688 A tento cyklus prochází[br]každý prvek pole. 0:00:35.688,0:00:40.473 A pro každý prvek nakreslí čáru [br]z pozice x směrem k Hopperově ruce. 0:00:40.473,0:00:45.651 Poté v pozici x nakreslí elipsu,[br]která má velikost 30 x 40 pixelů. 0:00:45.651,0:00:47.738 A to je náš balónek. 0:00:49.688,0:00:51.418 Teď už víme, jak to funguje. 0:00:51.418,0:00:54.242 Pokud chceme další balónek, 0:00:54.242,0:00:58.566 jednoduše do pole přidáme další číslo,[br]jako například 300. 0:00:58.566,0:01:02.767 Pěkné, teď pro Hoppera [br]máme 3 balónky. 0:01:02.767,0:01:08.730 Co kdybychom ale chtěli dát uživateli,[br]který neumí programovat, 0:01:08.730,0:01:10.889 schopnost přidávat nové balónky. 0:01:10.889,0:01:13.476 Dali bychom uživateli [br]program a řekli: 0:01:13.476,0:01:17.636 "Klikni tam, kde bys chtěl mít [br]balónek a on se tam objeví." 0:01:17.636,0:01:19.736 Nebylo by to skvělé? 0:01:20.726,0:01:23.927 Jak bychom to ale měli provést? 0:01:23.927,0:01:26.325 Chceme, aby se náš program[br]průběžně měnil. 0:01:26.325,0:01:30.605 Pokaždé, když uživatel klikne,[br]objeví se nahoře balónek. 0:01:30.605,0:01:35.097 Začneme tím, že vše[br]přesuneme do draw function. 0:01:35.097,0:01:37.244 Tím bude jednoduché věci[br]průběžně měnit. 0:01:37.244,0:01:42.620 Toto přesuneme dolů[br]a pěkně odsadíme. 0:01:43.341,0:01:48.620 Teď chceme zkontrolovat,[br]zda uživatel kliká myší právě teď. 0:01:48.620,0:01:50.382 Můžeme to udělat pomocí if. 0:01:50.382,0:01:55.438 Napíšeme "if(mouseIsPressed)"[br]a něco k tomu doplníme. 0:01:56.768,0:02:01.686 Pokud dojde ke kliknutí myší,[br]chceme do pole přidat další číslo. 0:02:01.686,0:02:04.521 Pojďme vrátit dva prvky. 0:02:04.521,0:02:08.263 Nějakým způsobem chceme[br]do pole přidat číslo. 0:02:08.263,0:02:10.958 Ukážu vám jeden způsob,[br]jak bychom to mohli udělat. 0:02:10.958,0:02:17.610 Napíšeme:[br]xPositions[2]=mouseX 0:02:18.614,0:02:21.623 Ukážu vám, že to funguje. 0:02:22.240,0:02:25.100 Klikla jsem a mám zde balónek! 0:02:25.100,0:02:26.740 Co se stalo? 0:02:26.740,0:02:30.252 Program si u xPositions[2] řekl: 0:02:30.252,0:02:36.309 Najdi toto pole a jeho prvek č. 2,[br]a jak víte, to je vlastně třetí prvek. 0:02:36.309,0:02:38.214 Protože pole jsou[br]založena na nule. 0:02:38.214,0:02:40.503 A pokud se podíváte,[br]nemáme žádný třetí prvek. 0:02:40.503,0:02:42.449 Na tom místě nic není. 0:02:42.449,0:02:45.739 Takže to říká: najdi ho[br]a vlož do něj mouseX. 0:02:45.739,0:02:51.209 A protože tam nic není,[br]mění se to z ničeho v mouseX. 0:02:51.292,0:02:54.664 Takže nyní naše pole [br]obsahuje 3 položky. 0:02:54.664,0:02:59.706 A když si ho projede tento cyklus for,[br]nakreslí se třetí balónek. 0:03:00.482,0:03:03.132 To je hodně dobré,[br]zkusím pokračovat v klikání. 0:03:03.872,0:03:08.388 Při každém kliknutí [br]se nakreslí třetí balónek. 0:03:08.388,0:03:10.993 A to kdekoli kliknu myší. 0:03:11.470,0:03:16.173 Je to kvůli tomu, že se neustále[br]přepisuje prvek č. 2. 0:03:16.173,0:03:18.758 Ta věc s indexem 2. 0:03:18.758,0:03:23.152 Neustále to přepisujeme s[br]aktuální pozicí mouseX. 0:03:23.391,0:03:26.090 Takže vždy budeme mít[br]jenom 3 balónky. 0:03:26.090,0:03:29.753 Protože první máme na místě 0,[br]druhý máme na místě 1, 0:03:29.753,0:03:34.014 a ten na místě 2 neustále [br]měníme v průběhu programu. 0:03:34.844,0:03:37.137 A to je super, ale[br]co opravdu chceme, 0:03:37.137,0:03:40.344 je dát uživatelovi volnost[br]udělat hodně balónků. 0:03:40.344,0:03:43.287 Pokaždé když klikne,[br]objeví se nový balónek. 0:03:43.287,0:03:44.381 A to znamená, 0:03:44.381,0:03:50.729 že musíme přičítat přírůstek indexu[br]pro prvek pole, ve kterém ho ukládáme. 0:03:50.729,0:03:52.540 Nechceme, aby to bylo pokaždé 2. 0:03:52.540,0:03:56.260 Chceme, aby to bylo [br]2, 3, 4, 5 a 6 a tak dále. 0:03:56.260,0:03:59.194 Mohli bychom to udělat[br]pomocí počítadla. 0:03:59.194,0:04:00.941 Napíšeme "newInd = 2". 0:04:00.941,0:04:02.746 S tím začneme. 0:04:02.746,0:04:05.711 A tady namísto [br]2 řekneme newInd. 0:04:05.711,0:04:09.563 A potom řekneme[br]newInd++. 0:04:09.563,0:04:11.777 Pokaždé k tomu přičteme 1. 0:04:11.777,0:04:15.299 Začne to na 2, poté se to stane 3,[br]poté 4. 0:04:15.299,0:04:18.430 A po každém kliknutí[br]se to zvětší, zkusme to. 0:04:20.084,0:04:22.027 Balónková párty! 0:04:22.227,0:04:24.760 To vypadá hezky. 0:04:24.760,0:04:27.368 Ale není to úplně nejlepší[br]způsob, jak to provést. 0:04:27.368,0:04:28.631 Jak se ukazuje, 0:04:28.631,0:04:32.232 přidávání věcí do pole je něco,[br]co chceme dělat opravdu často. 0:04:32.232,0:04:35.398 Proto existuje mnohem jednodušší[br]způsob než tento. 0:04:35.398,0:04:39.445 Vymažu věci, co jsme udělali. 0:04:39.445,0:04:42.936 Toto už nepotřebujeme,[br]jednoduše to zakomentuji. 0:04:42.936,0:04:48.303 Teď napíšeme:[br]xPositions.push 0:04:48.303,0:04:51.039 A do závorek [br]napíšeme mouseX. 0:04:51.039,0:04:52.490 To, co teď děláme, 0:04:52.490,0:04:56.324 je že přivoláváme tuto metodu[br]pro pole xPositions. 0:04:56.324,0:04:58.365 Voláme něco jako příkaz. 0:04:58.365,0:04:59.530 Říkáme poli: 0:04:59.530,0:05:05.327 Vem tuto novou hodnotu, mouseX,[br]a vlož ji na konec svého pole. 0:05:05.487,0:05:12.520 Při každém zavolání se to tedy podívá[br]na mouseX a vloží to na konec pole. 0:05:12.542,0:05:15.329 Pole se bude zvětšovat a[br]zvětšovat a zvětšovat. 0:05:15.329,0:05:17.384 Pojďme to spustit znovu. 0:05:17.654,0:05:19.392 Funguje to! 0:05:19.392,0:05:21.888 A použili jsme k tomu[br]mnohem méně kódu než předtím. 0:05:22.982,0:05:27.143 Většinou budete používat push,[br]pokud budete chtít k poli něco přidat. 0:05:27.143,0:05:28.790 A to je celkem užitečné, 0:05:28.790,0:05:31.746 protože pak budete mít pole,[br]která se zvětšují a zvětšují. 0:05:31.746,0:05:34.375 A to se hodí u animace nebo[br]při interakci s uživatelem. 0:05:34.375,0:05:36.434 A pak toho můžete[br]udělat mnohem více. 0:05:36.434,0:05:40.073 Teď jste pravděpodobně viděli [br]90% nejčastějších použití polí. 0:05:40.073,0:05:41.647 Způsoby, kterými je použijete. 0:05:41.647,0:05:43.852 Ale můžete s nimi toho [br]dělat mnohem více. 0:05:43.852,0:05:47.021 Pokud máte otázky,[br]ptejte se v diskuzi. 0:05:47.021,0:05:49.876 Ale nejdřív se ujistěte se, že[br]jste pochopili tyto základy.