[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.08,0:00:04.88,Default,,0000,0000,0000,,Robiliśmy animację piłki\Nodbijającej się od ścian. Dialogue: 0,0:00:04.98,0:00:08.36,Default,,0000,0000,0000,,Użyliśmy funkcji rysowania\Ni instrukcji warunkowych. Dialogue: 0,0:00:08.46,0:00:12.12,Default,,0000,0000,0000,,Określiliśmy zmienne\Ndla pozycji i prędkości piłki. Dialogue: 0,0:00:12.22,0:00:17.20,Default,,0000,0000,0000,,W funkcji rysowania, wywoływanej\Nraz po raz przez program, Dialogue: 0,0:00:17.30,0:00:20.76,Default,,0000,0000,0000,,malujemy tło i rysujemy elipsę. Dialogue: 0,0:00:20.86,0:00:24.82,Default,,0000,0000,0000,,Punkt zależy od zmiennej\Npozycji oraz prędkości Dialogue: 0,0:00:24.92,0:00:27.47,Default,,0000,0000,0000,,i tego, jak na siebie wpływają. Dialogue: 0,0:00:27.57,0:00:31.09,Default,,0000,0000,0000,,Bez instrukcji warunkowych\Npiłka leciała i leciała, Dialogue: 0,0:00:31.19,0:00:32.76,Default,,0000,0000,0000,,aż wcisnęliśmy „restart”. Dialogue: 0,0:00:32.86,0:00:35.69,Default,,0000,0000,0000,,Dodaliśmy dwie instrukcje warunkowe, Dialogue: 0,0:00:35.79,0:00:40.62,Default,,0000,0000,0000,,żeby sprawdzić, czy piłka\Njest blisko lewej lub prawej krawędzi, Dialogue: 0,0:00:40.72,0:00:45.44,Default,,0000,0000,0000,,a wtedy zmienialiśmy kierunek,\Nżeby piłka się odbijała. Dialogue: 0,0:00:45.54,0:00:49.69,Default,,0000,0000,0000,,Teraz piłka będzie się odbijała\Nw nieskończoność. Dialogue: 0,0:00:49.79,0:00:53.59,Default,,0000,0000,0000,,Fajna rzecz. W ten sposób\Nmożna zrobić wiele animacji. Dialogue: 0,0:00:53.69,0:00:57.21,Default,,0000,0000,0000,,Teraz włączę do programu\Ninterakcję z użytkownikiem. Dialogue: 0,0:00:57.31,0:01:00.00,Default,,0000,0000,0000,,Na razie - to jak program w TV. Dialogue: 0,0:01:00.10,0:01:03.16,Default,,0000,0000,0000,,Jeśli dacie go koledze,\Nktóry nie umie programować, Dialogue: 0,0:01:03.26,0:01:06.62,Default,,0000,0000,0000,,nie zrobi nic poza patrzeniem. Dialogue: 0,0:01:06.72,0:01:10.03,Default,,0000,0000,0000,,To jest niezłe, ale lepiej\Nbyłoby coś zrobić. Dialogue: 0,0:01:10.13,0:01:13.24,Default,,0000,0000,0000,,Dajmy użytkownikowi\Nkontrolę nad piłką. Dialogue: 0,0:01:13.34,0:01:17.32,Default,,0000,0000,0000,,Pamiętacie, jak uczyliśmy się\No zmiennych globalnych Dialogue: 0,0:01:17.42,0:01:20.08,Default,,0000,0000,0000,,„mouseX” i „mouseY”? Dialogue: 0,0:01:20.95,0:01:25.89,Default,,0000,0000,0000,,Zwracają liczby mówiące o bieżącej\Npozycji myszki użytkownika. Dialogue: 0,0:01:25.99,0:01:28.42,Default,,0000,0000,0000,,Dzięki nim program\Nbędzie interaktywny. Dialogue: 0,0:01:28.52,0:01:30.98,Default,,0000,0000,0000,,Pomyślmy - jak je wykorzystać? Dialogue: 0,0:01:31.08,0:01:34.60,Default,,0000,0000,0000,,Gdzieś wewnątrz funkcji rysowania. Dialogue: 0,0:01:34.70,0:01:39.06,Default,,0000,0000,0000,,Bo to jedyny stale wywoływany\Nkod w trakcie działania programu. Dialogue: 0,0:01:39.16,0:01:42.13,Default,,0000,0000,0000,,Wszystko spoza „draw”\Njest wywoływane raz, Dialogue: 0,0:01:42.72,0:01:44.37,Default,,0000,0000,0000,,gdy program się uruchamia. Dialogue: 0,0:01:44.47,0:01:47.69,Default,,0000,0000,0000,,Nie ma sensu używać tam\N„mouseX” i „mouseY”. Dialogue: 0,0:01:47.79,0:01:49.85,Default,,0000,0000,0000,,Żadnej szansy na interakcję. Dialogue: 0,0:01:50.94,0:01:54.50,Default,,0000,0000,0000,,W „draw” teraz rysujemy piłkę Dialogue: 0,0:01:54.60,0:01:56.73,Default,,0000,0000,0000,,200 pikseli w dół ekranu. Dialogue: 0,0:01:57.35,0:02:00.84,Default,,0000,0000,0000,,A gdybyśmy zastąpili to „mouseY”? Dialogue: 0,0:02:00.94,0:02:02.44,Default,,0000,0000,0000,,Bo to jest pozycja „y”. Dialogue: 0,0:02:02.54,0:02:08.43,Default,,0000,0000,0000,,Program doda pozycję „y”\Nzależnie od pozycji „y” użytkownika. Dialogue: 0,0:02:08.53,0:02:09.73,Default,,0000,0000,0000,,Patrzcie: Dialogue: 0,0:02:09.83,0:02:11.78,Default,,0000,0000,0000,,Poruszając kursorem w pionie, Dialogue: 0,0:02:11.88,0:02:15.23,Default,,0000,0000,0000,,zmieniam trasę\Nporuszania się piłki. I super! Dialogue: 0,0:02:15.97,0:02:18.14,Default,,0000,0000,0000,,Ale chcę też użyć „mouseX”. Dialogue: 0,0:02:18.24,0:02:21.87,Default,,0000,0000,0000,,Jak to zrobić?\NMoże zaprogramujmy drugą piłkę. Dialogue: 0,0:02:21.97,0:02:26.47,Default,,0000,0000,0000,,Niech przemieszcza się\Nw górę i w dół. Dialogue: 0,0:02:27.17,0:02:30.84,Default,,0000,0000,0000,,Wtedy użytkownik\Nbędzie kontrolował pozycję „x”. Dialogue: 0,0:02:30.94,0:02:33.62,Default,,0000,0000,0000,,Zrobimy odwrotnie\Nniż poprzednio. Elipsa... Dialogue: 0,0:02:33.72,0:02:38.97,Default,,0000,0000,0000,,„mouseX” pozycja: 50,50. Dialogue: 0,0:02:39.80,0:02:41.68,Default,,0000,0000,0000,,Spójrzcie! Dialogue: 0,0:02:41.78,0:02:46.93,Default,,0000,0000,0000,,Mam dwie piłki, poruszające się\Nprostopadle do siebie. Dialogue: 0,0:02:48.05,0:02:49.90,Default,,0000,0000,0000,,Ale to jeszcze nie to. Dialogue: 0,0:02:50.00,0:02:53.27,Default,,0000,0000,0000,,Chcę więcej kontroli\Ndla użytkownika! Dialogue: 0,0:02:53.44,0:02:56.77,Default,,0000,0000,0000,,Żeby sam mógł stworzyć\Ndrugą piłkę. Dialogue: 0,0:02:56.87,0:03:01.24,Default,,0000,0000,0000,,Po prostu wciskając\Nprzycisk myszki. Dialogue: 0,0:03:01.79,0:03:06.66,Default,,0000,0000,0000,,Tylko jak powiedzieć programowi,\Nże ktoś wciska przycisk? Dialogue: 0,0:03:07.76,0:03:12.59,Default,,0000,0000,0000,,Na szczęście mamy do tego\Nwyjątkową zmienną logiczną. Dialogue: 0,0:03:12.69,0:03:18.30,Default,,0000,0000,0000,,Nazywa się „mouseIsPressed”\Ni używamy jej w instrukcji warunkowej. Dialogue: 0,0:03:18.97,0:03:21.83,Default,,0000,0000,0000,,Zobaczmy. To druga piłka. Dialogue: 0,0:03:21.93,0:03:24.68,Default,,0000,0000,0000,,Możemy więc napisać: „if” (jeśli) Dialogue: 0,0:03:24.78,0:03:26.61,Default,,0000,0000,0000,,„mouseIsPressed”, Dialogue: 0,0:03:28.41,0:03:31.72,Default,,0000,0000,0000,,i przenosimy tu dwukropek elipsy. Dialogue: 0,0:03:31.82,0:03:35.74,Default,,0000,0000,0000,,Tutaj mówimy programowi, Dialogue: 0,0:03:35.84,0:03:40.91,Default,,0000,0000,0000,,że ma narysować tę elipsę\Ntylko jeśli to jest prawda. Dialogue: 0,0:03:41.01,0:03:45.23,Default,,0000,0000,0000,,A „mouseIsPressed” jest prawdą,\Ngdy użytkownik wciska klawisz myszki. Dialogue: 0,0:03:45.33,0:03:47.16,Default,,0000,0000,0000,,Spróbujmy. Dialogue: 0,0:03:49.81,0:03:52.83,Default,,0000,0000,0000,,Piłka pojawi się,\Ngdy wcisnę przycisk myszki. Dialogue: 0,0:03:52.93,0:03:57.96,Default,,0000,0000,0000,,Przylatuje ze wszechświata\Nrównoległego. Jest! Jest! Dialogue: 0,0:03:58.06,0:03:59.70,Default,,0000,0000,0000,,Świetnie! Dialogue: 0,0:03:59.80,0:04:04.51,Default,,0000,0000,0000,,W zmiennej „mouseIsPressed”\Nciekawe jest to, Dialogue: 0,0:04:04.61,0:04:09.59,Default,,0000,0000,0000,,że zmienia się zależnie od działania\Nużytkownika, a nie programu. Dialogue: 0,0:04:09.69,0:04:13.21,Default,,0000,0000,0000,,A że funkcja „draw”\Njest wywoływana raz po raz, Dialogue: 0,0:04:13.31,0:04:16.00,Default,,0000,0000,0000,,wynik będzie się zmieniał, Dialogue: 0,0:04:16.10,0:04:18.51,Default,,0000,0000,0000,,z małą pomocą użytkownika. Dialogue: 0,0:04:18.61,0:04:22.27,Default,,0000,0000,0000,,Dzięki połączonym siłom instrukcji\Nwarunkowej i „mouseIsPressed”, Dialogue: 0,0:04:22.37,0:04:27.63,Default,,0000,0000,0000,,macie wszystko, żeby robić\Nświetne programy do rysowania.