[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.26,0:00:04.81,Default,,0000,0000,0000,,Zatím jsme si ukázali,\Njak vytvořit pole a pracovat s ním. Dialogue: 0,0:00:04.81,0:00:06.64,Default,,0000,0000,0000,,Stejně jako jiné proměnné, Dialogue: 0,0:00:06.64,0:00:12.56,Default,,0000,0000,0000,,i pole můžeme dynamicky měnit\Nběhem vykonávání kódu. Dialogue: 0,0:00:13.21,0:00:16.12,Default,,0000,0000,0000,,Ukážu vám, co mám na mysli. Dialogue: 0,0:00:16.12,0:00:17.92,Default,,0000,0000,0000,,Zde máme program, Dialogue: 0,0:00:17.92,0:00:21.19,Default,,0000,0000,0000,,který zobrazuje Hoppera\Ndržícího několik balónků. Dialogue: 0,0:00:22.41,0:00:26.74,Default,,0000,0000,0000,,A funguje to tak, že tady máme\Npole xPositions se dvěma čísly, Dialogue: 0,0:00:26.74,0:00:30.01,Default,,0000,0000,0000,,která určují polohu balónků. Dialogue: 0,0:00:30.01,0:00:32.33,Default,,0000,0000,0000,,A tady dolů máme cyklus. Dialogue: 0,0:00:32.33,0:00:35.69,Default,,0000,0000,0000,,A tento cyklus prochází\Nkaždý prvek pole. Dialogue: 0,0:00:35.69,0:00:40.47,Default,,0000,0000,0000,,A pro každý prvek nakreslí čáru \Nz pozice x směrem k Hopperově ruce. Dialogue: 0,0:00:40.47,0:00:45.65,Default,,0000,0000,0000,,Poté v pozici x nakreslí elipsu,\Nkterá má velikost 30 x 40 pixelů. Dialogue: 0,0:00:45.65,0:00:47.74,Default,,0000,0000,0000,,A to je náš balónek. Dialogue: 0,0:00:49.69,0:00:51.42,Default,,0000,0000,0000,,Teď už víme, jak to funguje. Dialogue: 0,0:00:51.42,0:00:54.24,Default,,0000,0000,0000,,Pokud chceme další balónek, Dialogue: 0,0:00:54.24,0:00:58.57,Default,,0000,0000,0000,,jednoduše do pole přidáme další číslo,\Njako například 300. Dialogue: 0,0:00:58.57,0:01:02.77,Default,,0000,0000,0000,,Pěkné, teď pro Hoppera \Nmáme 3 balónky. Dialogue: 0,0:01:02.77,0:01:08.73,Default,,0000,0000,0000,,Co kdybychom ale chtěli dát uživateli,\Nkterý neumí programovat, Dialogue: 0,0:01:08.73,0:01:10.89,Default,,0000,0000,0000,,schopnost přidávat nové balónky. Dialogue: 0,0:01:10.89,0:01:13.48,Default,,0000,0000,0000,,Dali bychom uživateli \Nprogram a řekli: Dialogue: 0,0:01:13.48,0:01:17.64,Default,,0000,0000,0000,,"Klikni tam, kde bys chtěl mít \Nbalónek a on se tam objeví." Dialogue: 0,0:01:17.64,0:01:19.74,Default,,0000,0000,0000,,Nebylo by to skvělé? Dialogue: 0,0:01:20.73,0:01:23.93,Default,,0000,0000,0000,,Jak bychom to ale měli provést? Dialogue: 0,0:01:23.93,0:01:26.32,Default,,0000,0000,0000,,Chceme, aby se náš program\Nprůběžně měnil. Dialogue: 0,0:01:26.32,0:01:30.60,Default,,0000,0000,0000,,Pokaždé, když uživatel klikne,\Nobjeví se nahoře balónek. Dialogue: 0,0:01:30.60,0:01:35.10,Default,,0000,0000,0000,,Začneme tím, že vše\Npřesuneme do draw function. Dialogue: 0,0:01:35.10,0:01:37.24,Default,,0000,0000,0000,,Tím bude jednoduché věci\Nprůběžně měnit. Dialogue: 0,0:01:37.24,0:01:42.62,Default,,0000,0000,0000,,Toto přesuneme dolů\Na pěkně odsadíme. Dialogue: 0,0:01:43.34,0:01:48.62,Default,,0000,0000,0000,,Teď chceme zkontrolovat,\Nzda uživatel kliká myší právě teď. Dialogue: 0,0:01:48.62,0:01:50.38,Default,,0000,0000,0000,,Můžeme to udělat pomocí if. Dialogue: 0,0:01:50.38,0:01:55.44,Default,,0000,0000,0000,,Napíšeme "if(mouseIsPressed)"\Na něco k tomu doplníme. Dialogue: 0,0:01:56.77,0:02:01.69,Default,,0000,0000,0000,,Pokud dojde ke kliknutí myší,\Nchceme do pole přidat další číslo. Dialogue: 0,0:02:01.69,0:02:04.52,Default,,0000,0000,0000,,Pojďme vrátit dva prvky. Dialogue: 0,0:02:04.52,0:02:08.26,Default,,0000,0000,0000,,Nějakým způsobem chceme\Ndo pole přidat číslo. Dialogue: 0,0:02:08.26,0:02:10.96,Default,,0000,0000,0000,,Ukážu vám jeden způsob,\Njak bychom to mohli udělat. Dialogue: 0,0:02:10.96,0:02:17.61,Default,,0000,0000,0000,,Napíšeme:\NxPositions[2]=mouseX Dialogue: 0,0:02:18.61,0:02:21.62,Default,,0000,0000,0000,,Ukážu vám, že to funguje. Dialogue: 0,0:02:22.24,0:02:25.10,Default,,0000,0000,0000,,Klikla jsem a mám zde balónek! Dialogue: 0,0:02:25.10,0:02:26.74,Default,,0000,0000,0000,,Co se stalo? Dialogue: 0,0:02:26.74,0:02:30.25,Default,,0000,0000,0000,,Program si u xPositions[2] řekl: Dialogue: 0,0:02:30.25,0:02:36.31,Default,,0000,0000,0000,,Najdi toto pole a jeho prvek č. 2,\Na jak víte, to je vlastně třetí prvek. Dialogue: 0,0:02:36.31,0:02:38.21,Default,,0000,0000,0000,,Protože pole jsou\Nzaložena na nule. Dialogue: 0,0:02:38.21,0:02:40.50,Default,,0000,0000,0000,,A pokud se podíváte,\Nnemáme žádný třetí prvek. Dialogue: 0,0:02:40.50,0:02:42.45,Default,,0000,0000,0000,,Na tom místě nic není. Dialogue: 0,0:02:42.45,0:02:45.74,Default,,0000,0000,0000,,Takže to říká: najdi ho\Na vlož do něj mouseX. Dialogue: 0,0:02:45.74,0:02:51.21,Default,,0000,0000,0000,,A protože tam nic není,\Nmění se to z ničeho v mouseX. Dialogue: 0,0:02:51.29,0:02:54.66,Default,,0000,0000,0000,,Takže nyní naše pole \Nobsahuje 3 položky. Dialogue: 0,0:02:54.66,0:02:59.71,Default,,0000,0000,0000,,A když si ho projede tento cyklus for,\Nnakreslí se třetí balónek. Dialogue: 0,0:03:00.48,0:03:03.13,Default,,0000,0000,0000,,To je hodně dobré,\Nzkusím pokračovat v klikání. Dialogue: 0,0:03:03.87,0:03:08.39,Default,,0000,0000,0000,,Při každém kliknutí \Nse nakreslí třetí balónek. Dialogue: 0,0:03:08.39,0:03:10.99,Default,,0000,0000,0000,,A to kdekoli kliknu myší. Dialogue: 0,0:03:11.47,0:03:16.17,Default,,0000,0000,0000,,Je to kvůli tomu, že se neustále\Npřepisuje prvek č. 2. Dialogue: 0,0:03:16.17,0:03:18.76,Default,,0000,0000,0000,,Ta věc s indexem 2. Dialogue: 0,0:03:18.76,0:03:23.15,Default,,0000,0000,0000,,Neustále to přepisujeme s\Naktuální pozicí mouseX. Dialogue: 0,0:03:23.39,0:03:26.09,Default,,0000,0000,0000,,Takže vždy budeme mít\Njenom 3 balónky. Dialogue: 0,0:03:26.09,0:03:29.75,Default,,0000,0000,0000,,Protože první máme na místě 0,\Ndruhý máme na místě 1, Dialogue: 0,0:03:29.75,0:03:34.01,Default,,0000,0000,0000,,a ten na místě 2 neustále \Nměníme v průběhu programu. Dialogue: 0,0:03:34.84,0:03:37.14,Default,,0000,0000,0000,,A to je super, ale\Nco opravdu chceme, Dialogue: 0,0:03:37.14,0:03:40.34,Default,,0000,0000,0000,,je dát uživatelovi volnost\Nudělat hodně balónků. Dialogue: 0,0:03:40.34,0:03:43.29,Default,,0000,0000,0000,,Pokaždé když klikne,\Nobjeví se nový balónek. Dialogue: 0,0:03:43.29,0:03:44.38,Default,,0000,0000,0000,,A to znamená, Dialogue: 0,0:03:44.38,0:03:50.73,Default,,0000,0000,0000,,že musíme přičítat přírůstek indexu\Npro prvek pole, ve kterém ho ukládáme. Dialogue: 0,0:03:50.73,0:03:52.54,Default,,0000,0000,0000,,Nechceme, aby to bylo pokaždé 2. Dialogue: 0,0:03:52.54,0:03:56.26,Default,,0000,0000,0000,,Chceme, aby to bylo \N2, 3, 4, 5 a 6 a tak dále. Dialogue: 0,0:03:56.26,0:03:59.19,Default,,0000,0000,0000,,Mohli bychom to udělat\Npomocí počítadla. Dialogue: 0,0:03:59.19,0:04:00.94,Default,,0000,0000,0000,,Napíšeme "newInd = 2". Dialogue: 0,0:04:00.94,0:04:02.75,Default,,0000,0000,0000,,S tím začneme. Dialogue: 0,0:04:02.75,0:04:05.71,Default,,0000,0000,0000,,A tady namísto \N2 řekneme newInd. Dialogue: 0,0:04:05.71,0:04:09.56,Default,,0000,0000,0000,,A potom řekneme\NnewInd++. Dialogue: 0,0:04:09.56,0:04:11.78,Default,,0000,0000,0000,,Pokaždé k tomu přičteme 1. Dialogue: 0,0:04:11.78,0:04:15.30,Default,,0000,0000,0000,,Začne to na 2, poté se to stane 3,\Npoté 4. Dialogue: 0,0:04:15.30,0:04:18.43,Default,,0000,0000,0000,,A po každém kliknutí\Nse to zvětší, zkusme to. Dialogue: 0,0:04:20.08,0:04:22.03,Default,,0000,0000,0000,,Balónková párty! Dialogue: 0,0:04:22.23,0:04:24.76,Default,,0000,0000,0000,,To vypadá hezky. Dialogue: 0,0:04:24.76,0:04:27.37,Default,,0000,0000,0000,,Ale není to úplně nejlepší\Nzpůsob, jak to provést. Dialogue: 0,0:04:27.37,0:04:28.63,Default,,0000,0000,0000,,Jak se ukazuje, Dialogue: 0,0:04:28.63,0:04:32.23,Default,,0000,0000,0000,,přidávání věcí do pole je něco,\Nco chceme dělat opravdu často. Dialogue: 0,0:04:32.23,0:04:35.40,Default,,0000,0000,0000,,Proto existuje mnohem jednodušší\Nzpůsob než tento. Dialogue: 0,0:04:35.40,0:04:39.44,Default,,0000,0000,0000,,Vymažu věci, co jsme udělali. Dialogue: 0,0:04:39.44,0:04:42.94,Default,,0000,0000,0000,,Toto už nepotřebujeme,\Njednoduše to zakomentuji. Dialogue: 0,0:04:42.94,0:04:48.30,Default,,0000,0000,0000,,Teď napíšeme:\NxPositions.push Dialogue: 0,0:04:48.30,0:04:51.04,Default,,0000,0000,0000,,A do závorek \Nnapíšeme mouseX. Dialogue: 0,0:04:51.04,0:04:52.49,Default,,0000,0000,0000,,To, co teď děláme, Dialogue: 0,0:04:52.49,0:04:56.32,Default,,0000,0000,0000,,je že přivoláváme tuto metodu\Npro pole xPositions. Dialogue: 0,0:04:56.32,0:04:58.36,Default,,0000,0000,0000,,Voláme něco jako příkaz. Dialogue: 0,0:04:58.36,0:04:59.53,Default,,0000,0000,0000,,Říkáme poli: Dialogue: 0,0:04:59.53,0:05:05.33,Default,,0000,0000,0000,,Vem tuto novou hodnotu, mouseX,\Na vlož ji na konec svého pole. Dialogue: 0,0:05:05.49,0:05:12.52,Default,,0000,0000,0000,,Při každém zavolání se to tedy podívá\Nna mouseX a vloží to na konec pole. Dialogue: 0,0:05:12.54,0:05:15.33,Default,,0000,0000,0000,,Pole se bude zvětšovat a\Nzvětšovat a zvětšovat. Dialogue: 0,0:05:15.33,0:05:17.38,Default,,0000,0000,0000,,Pojďme to spustit znovu. Dialogue: 0,0:05:17.65,0:05:19.39,Default,,0000,0000,0000,,Funguje to! Dialogue: 0,0:05:19.39,0:05:21.89,Default,,0000,0000,0000,,A použili jsme k tomu\Nmnohem méně kódu než předtím. Dialogue: 0,0:05:22.98,0:05:27.14,Default,,0000,0000,0000,,Většinou budete používat push,\Npokud budete chtít k poli něco přidat. Dialogue: 0,0:05:27.14,0:05:28.79,Default,,0000,0000,0000,,A to je celkem užitečné, Dialogue: 0,0:05:28.79,0:05:31.75,Default,,0000,0000,0000,,protože pak budete mít pole,\Nkterá se zvětšují a zvětšují. Dialogue: 0,0:05:31.75,0:05:34.38,Default,,0000,0000,0000,,A to se hodí u animace nebo\Npři interakci s uživatelem. Dialogue: 0,0:05:34.38,0:05:36.43,Default,,0000,0000,0000,,A pak toho můžete\Nudělat mnohem více. Dialogue: 0,0:05:36.43,0:05:40.07,Default,,0000,0000,0000,,Teď jste pravděpodobně viděli \N90% nejčastějších použití polí. Dialogue: 0,0:05:40.07,0:05:41.65,Default,,0000,0000,0000,,Způsoby, kterými je použijete. Dialogue: 0,0:05:41.65,0:05:43.85,Default,,0000,0000,0000,,Ale můžete s nimi toho \Ndělat mnohem více. Dialogue: 0,0:05:43.85,0:05:47.02,Default,,0000,0000,0000,,Pokud máte otázky,\Nptejte se v diskuzi. Dialogue: 0,0:05:47.02,0:05:49.88,Default,,0000,0000,0000,,Ale nejdřív se ujistěte se, že\Njste pochopili tyto základy.