[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.16,0:00:02.90,Default,,0000,0000,0000,,V předchozím videu \Njsme si ukázali, Dialogue: 0,0:00:02.90,0:00:04.98,Default,,0000,0000,0000,,jak animovat míček\Nodrážející se od stěn. Dialogue: 0,0:00:04.98,0:00:06.93,Default,,0000,0000,0000,,A to pomocí funkce \N"draw" a příkazů "if". Dialogue: 0,0:00:07.10,0:00:08.23,Default,,0000,0000,0000,,Pojďme si to zopakovat. Dialogue: 0,0:00:08.54,0:00:11.98,Default,,0000,0000,0000,,Nejdříve si nastavíme počáteční \Nproměnné pro polohu a rychlost míčku. Dialogue: 0,0:00:12.34,0:00:14.96,Default,,0000,0000,0000,,Poté máme funkci "draw",\Ncož je speciální funkce, Dialogue: 0,0:00:14.96,0:00:17.70,Default,,0000,0000,0000,,která je přivolávána opakovaně\Nběhem celého běhu programu. Dialogue: 0,0:00:17.70,0:00:20.67,Default,,0000,0000,0000,,Překreslíme pozadí a\Nna plátně vykreslíme elipsu. Dialogue: 0,0:00:20.97,0:00:25.04,Default,,0000,0000,0000,,Tuto elipsu umístíme na základě \Npolohové a rychlostní proměnné, Dialogue: 0,0:00:25.20,0:00:27.46,Default,,0000,0000,0000,,a na jejich vzájemném vztahu. Dialogue: 0,0:00:27.62,0:00:31.15,Default,,0000,0000,0000,,Bez podmíněných příkazů by náš\Nmíček letěl donekonečna. Dialogue: 0,0:00:31.15,0:00:32.96,Default,,0000,0000,0000,,Anebo dokud bychom\Nnezmáčkli "restart". Dialogue: 0,0:00:33.09,0:00:36.11,Default,,0000,0000,0000,,Proto jsme sem dolů\Npřidali dva podmíněné příkazy. Dialogue: 0,0:00:36.15,0:00:37.30,Default,,0000,0000,0000,,Těmi kontrolujeme to, Dialogue: 0,0:00:37.30,0:00:40.68,Default,,0000,0000,0000,,zda se míček přibližuje\Nk pravé či levé straně obrazovky. Dialogue: 0,0:00:40.70,0:00:43.64,Default,,0000,0000,0000,,V tom případě změníme\Nrychlost kladně nebo záporně, Dialogue: 0,0:00:43.64,0:00:45.51,Default,,0000,0000,0000,,díky čemuž se\Nmíček odrazí zpátky. Dialogue: 0,0:00:45.54,0:00:48.43,Default,,0000,0000,0000,,Teď tedy máme tento míček,\Nkterý se odráží tam a zpět. Dialogue: 0,0:00:48.43,0:00:49.16,Default,,0000,0000,0000,,Pořád dokola. Dialogue: 0,0:00:49.90,0:00:50.99,Default,,0000,0000,0000,,Vypadá to celkem dobře. Dialogue: 0,0:00:51.12,0:00:53.24,Default,,0000,0000,0000,,Nyní můžeme animovat\Nhodně zajímavých věcí. Dialogue: 0,0:00:53.78,0:00:57.37,Default,,0000,0000,0000,,Ráda bych do programu \Npřidala uživatelovy interakce. Dialogue: 0,0:00:57.42,0:01:00.01,Default,,0000,0000,0000,,V této chvíli náš program\Npřipomíná televizní seriál. Dialogue: 0,0:01:00.03,0:01:01.96,Default,,0000,0000,0000,,Představte si, že \Nho dáte kamarádovi. Dialogue: 0,0:01:01.96,0:01:04.91,Default,,0000,0000,0000,,Pokud neumí programovat,\Nnemůže s programem nic moc dělat. Dialogue: 0,0:01:04.98,0:01:06.38,Default,,0000,0000,0000,,Může se na něj jen dívat. Dialogue: 0,0:01:06.84,0:01:10.25,Default,,0000,0000,0000,,Bylo by zajímavější, kdyby \Ns programem mohl něco dělat. Dialogue: 0,0:01:10.29,0:01:12.81,Default,,0000,0000,0000,,Pojďme tedy dát \Nuživateli nějakou moc. Dialogue: 0,0:01:13.46,0:01:17.53,Default,,0000,0000,0000,,Už jsme se naučili pracovat s dvěma \Nspeciálními globálními proměnnými. Dialogue: 0,0:01:17.53,0:01:20.16,Default,,0000,0000,0000,,Jmenují se mouseX a mouseY. Dialogue: 0,0:01:21.18,0:01:25.81,Default,,0000,0000,0000,,Tyto proměnné vracejí čísla popisující \Naktuální pozici uživatelovy myši. Dialogue: 0,0:01:25.84,0:01:28.68,Default,,0000,0000,0000,,S jejich pomocí lze program \Nsnadno udělat interaktivnější. Dialogue: 0,0:01:28.68,0:01:31.06,Default,,0000,0000,0000,,Jak je tedy použijeme? Dialogue: 0,0:01:31.08,0:01:34.48,Default,,0000,0000,0000,,Měli bychom je použít\Nuvnitř funkce "draw". Dialogue: 0,0:01:34.53,0:01:39.13,Default,,0000,0000,0000,,To je totiž jediný kód, \Nkterý je přivoláván opakovaně. Dialogue: 0,0:01:39.13,0:01:42.20,Default,,0000,0000,0000,,Všechno mimo funkci "draw"\Nje přivoláno pouze jednou. Dialogue: 0,0:01:42.76,0:01:44.43,Default,,0000,0000,0000,,A to při spuštění programu. Dialogue: 0,0:01:44.57,0:01:47.50,Default,,0000,0000,0000,,Čili použít mouseX a mouseY\Ntam postrádá smysl. Dialogue: 0,0:01:47.79,0:01:50.19,Default,,0000,0000,0000,,Uživatel neměl příležitost\Ns programem interagovat. Dialogue: 0,0:01:52.41,0:01:56.97,Default,,0000,0000,0000,,Ve funkci "draw" momentálně kreslíme \Nmíček v poloze 200 pixelů směrem dolů. Dialogue: 0,0:01:56.97,0:02:00.57,Default,,0000,0000,0000,,Co kdybychom toto \Nnahradily s mouseY? Dialogue: 0,0:02:00.57,0:02:02.53,Default,,0000,0000,0000,,To je totiž poloha y. Dialogue: 0,0:02:02.57,0:02:07.83,Default,,0000,0000,0000,,Teď bude poloha y závislá \Nna uživatelově poloze y. Dialogue: 0,0:02:08.60,0:02:10.10,Default,,0000,0000,0000,,Podívejte na to! Dialogue: 0,0:02:10.10,0:02:11.66,Default,,0000,0000,0000,,Jezdím kurzorem\Nnahoru a dolů. Dialogue: 0,0:02:11.66,0:02:14.27,Default,,0000,0000,0000,,Tím můžu změnit osu,\Npo které se kurzor pohybuje. Dialogue: 0,0:02:15.87,0:02:18.61,Default,,0000,0000,0000,,Chtěla bych ale \Npoužít také mouseX. Dialogue: 0,0:02:18.61,0:02:20.22,Default,,0000,0000,0000,,Jak na to? Dialogue: 0,0:02:20.22,0:02:22.20,Default,,0000,0000,0000,,Co kdybychom udělali\Ndalší míček? Dialogue: 0,0:02:22.20,0:02:26.34,Default,,0000,0000,0000,,Ten by se pohyboval\Nopačně: nahoru a dolů. Dialogue: 0,0:02:27.06,0:02:30.35,Default,,0000,0000,0000,,Uživatel bude schopen\Novládat jeho polohu x. Dialogue: 0,0:02:30.90,0:02:32.59,Default,,0000,0000,0000,,Uděláme to teď tedy opačně. Dialogue: 0,0:02:32.59,0:02:38.86,Default,,0000,0000,0000,,Napíšeme: ellipse, mouse X,\Npoloha 50 a 50. Dialogue: 0,0:02:40.43,0:02:41.86,Default,,0000,0000,0000,,Podívejte na to. Dialogue: 0,0:02:41.86,0:02:46.93,Default,,0000,0000,0000,,Teď ovládám tyto dva míčky\Npohybující se v kolmém směru. Dialogue: 0,0:02:48.73,0:02:50.15,Default,,0000,0000,0000,,Pořád ještě nejsem spokojená. Dialogue: 0,0:02:50.15,0:02:53.30,Default,,0000,0000,0000,,Chtěla bych uživateli\Ndát mnohem více moci. Dialogue: 0,0:02:53.30,0:02:56.93,Default,,0000,0000,0000,,Chtěla bych, aby mohl uživatel \Nsám spustit druhý míček. Dialogue: 0,0:02:56.93,0:03:01.04,Default,,0000,0000,0000,,Aby ho mohl sám přivolat\Npomocí kliknutí myši. Dialogue: 0,0:03:02.66,0:03:06.82,Default,,0000,0000,0000,,Potřebuji tedy zjistit,\Njak uživatelovo kliknutí rozeznat. Dialogue: 0,0:03:07.79,0:03:12.49,Default,,0000,0000,0000,,Naštěstí přesně pro to existuje\Nspeciální booleanová proměnná. Dialogue: 0,0:03:12.87,0:03:15.71,Default,,0000,0000,0000,,Jmenuje se mouseIsPressed. Dialogue: 0,0:03:15.71,0:03:18.52,Default,,0000,0000,0000,,A můžeme ji použít ve vnitřku \Npodmíněného příkazu. Dialogue: 0,0:03:20.49,0:03:21.67,Default,,0000,0000,0000,,Toto je náš druhy míček. Dialogue: 0,0:03:21.88,0:03:26.38,Default,,0000,0000,0000,,Můžeme napsat: if, mouseIsPressed. Dialogue: 0,0:03:28.40,0:03:31.43,Default,,0000,0000,0000,,Následně zde přesuneme \Npříkaz pro přivolání elipsy. Dialogue: 0,0:03:32.65,0:03:34.80,Default,,0000,0000,0000,,Čili toto říká programu, Dialogue: 0,0:03:34.80,0:03:41.38,Default,,0000,0000,0000,,že chceme nakreslit elipsu,\Njen když toto je pravdivé. Dialogue: 0,0:03:41.38,0:03:45.31,Default,,0000,0000,0000,,A mouseIsPressed bude pravdivé\Njen při uživatelově zmáčknutí myši. Dialogue: 0,0:03:45.47,0:03:47.22,Default,,0000,0000,0000,,Pojďme to zkusit. Dialogue: 0,0:03:49.78,0:03:52.82,Default,,0000,0000,0000,,Teď můžu míček přivolat\Nkdykoli při zmáčknutí myši. Dialogue: 0,0:03:52.82,0:03:55.28,Default,,0000,0000,0000,,Takže se objevuje\Nz paralelního vesmíru. Dialogue: 0,0:04:01.07,0:04:04.62,Default,,0000,0000,0000,,Proměnná mouseIsPressed je zajímavá tím, Dialogue: 0,0:04:04.62,0:04:07.53,Default,,0000,0000,0000,,že se mění na základě toho, \Nco dělá uživatel. Dialogue: 0,0:04:07.53,0:04:09.93,Default,,0000,0000,0000,,A ne na základě toho,\Nco dělá program. Dialogue: 0,0:04:09.93,0:04:12.96,Default,,0000,0000,0000,,A protože funkce "draw"\Nje přivolávána opakovaně, Dialogue: 0,0:04:13.36,0:04:16.26,Default,,0000,0000,0000,,výstup programu\Nse v průběhu mění. Dialogue: 0,0:04:16.26,0:04:17.94,Default,,0000,0000,0000,,A to s trochou\Nuživatelova vstupu. Dialogue: 0,0:04:18.47,0:04:23.48,Default,,0000,0000,0000,,Spojením podmíněných příkazů \Na mouseIsPressed máte vše potřebné pro to, Dialogue: 0,0:04:23.48,0:04:27.07,Default,,0000,0000,0000,,abyste mohli dělat skvělé věci jako\Ntlačítka či programy na kreslení.