No dobrze, środowisko mamy już gotowe. Pora ożywić scenę.
Moje podejście to nauka na przykładach, zamiast długiego i żmudnego prezentowania teorii. Całą teorię poznamy w boju. Miej jednak na uwadze to, że im więcej proponowanych przeze mnie eksperymentów przerobisz tym lepiej zrozumiesz działanie Scratch.
Proponuję zacząć od ułożenia poniższego układu bloczków w swoim edytorze. W następnych krokach przeanalizujemy dokładnie jak ten program działa:
Efekt powinien być taki (program rozpocznie działanie po kliknięciu w zieloną flagę w prawym górnym rogu):
Powyższy program znajduje się pod adresem http://scratch.mit.edu/projects/11354572, można go remiksować i eksperymentować do woli.
A teraz przeanalizujmy dokładnie jak ten zestaw bloczków działa. Na początek dwie zasady, które ułatwią tworzenie i analizę programów.
Zasada 1: każdy skrypt (czyli połączony zestaw bloczków) wykonywany jest krok po kroku, zgodnie z logiką bloczków.
Zasada 2: rozpoczęcie wykonywania danego skryptu uzależnione jest od wystąpienia zdarzenia.
Przyjrzyjmy się zatem bliżej bloczkom, z których składa się nasz program. Pierwszy bloczek (1) mówi, że Scratch powinien rozpocząć wykonywanie kolejnych podłączonych do tego bloku instrukcji w momencie, kiedy zaszło zdarzenie kliknięcia zielonej flagi. A zatem ten skrypt reaguje tylko i wyłącznie na kliknięcie we flagę. Następnym wykonanym blokiem będzie (2). Ten blok ustawia duszka w pozycji x=0,y=-120 (dla przypomnienia, w pierwszej lekcji możecie zobaczyć jak wygląda plansza). Kolejnym wykonanym zadaniem będzie (3) – celem tego zadania jest obrócenie duszka w stronę ruchu (w prawo).
W tym momencie wnikliwy czytelnik zada pewnie pytanie:
Po co ustawiać duszka w odpowiednią stronę na początku programu (przecież domyślnie jest ustawiony właśnie w prawo)?
Owszem, domyślne obrócenie duszka jest takie jakiego oczekujemy. Ale po pierwszym kliknięciu flagi i zatrzymaniu programu czerwonym przyciskiem duszek pozostanie w pozycji, w której go zatrzymaliśmy. Po ponownym kliknięciu flagi duszek nie ruszy od domyślnej pozycji, ale od pozycji, w której został zatrzymany. Polecam eksperyment: usunięcie bloczka (3) i kilkukrotne uruchomienie i zatrzymanie programu. Powinno to rozwiać wszelkie wątpliwości o co chodzi 🙂 Po zakończeniu eksperymentu można przywrócić pierwotny wygląd programu.
Idąc dalej: (4) wyświetla „dymek” z podanym przez nas tekstem przez określony czas. Kolejny blok: (5) odtworzy dźwięk.
Uwaga: działanie tego bloku może nie być do końca intuicyjne, ale wbrew pozorom ma swoje zalety. Chodzi o to, że nasz program nie będzie czekał na zakończenie odgrywania dźwięku, ale od razu po rozpoczęciu odtwarzania przejdzie do następnego bloku. I tutaj znowu proponuję eksperyment: ustawienie wielu (np. pięciu) bloków (5) bezpośrednio jeden po drugim. Jak Wam się podoba takie zachowanie? Macie pomysły do czego się to przyda?
Następny blok (6) jest bardzo ciekawy. Pozwala on na ciągłe powtarzanie bloków, które są w nim zawarte (przetwarza je po kolei, a po zakończeniu wraca do pierwszego i od nowa je przetwarza). W naszym przypadku, kolejno przetwarzane będą 3 bloki: „powtórz x razy”, „zagraj bęben” i „następny kostium”.
Ciekawostka: wprawne oko zauważy, że ten blok nie ma „ząbka”, do którego można przypiąć następny blok. Dlaczego? Ponieważ zwyczajnie nie ma to sensu :). Żaden następny bloczek i tak nigdy by się nie wykonał.
Blok (7) powtórzy odpowiednią liczbę razy bloki w nim zawarte. W naszym przypadku program 10 razy wykona parę poleceń: przesunięcie o 2 kroki do przodu (8) i obrót w lewo o 1 stopień (9). Po wykonaniu zdefiniowanej liczby powtórzeń program przejdzie do kolejnego bloku (tego, który jest przypięty poniżej bloku „powtórz x razy”.
Eksperyment: wypróbuj różne parametry w blokach (8) i (9), zaobserwuj zachowanie duszka: czy jest zgodne z tym jak sobie wyobrażałeś?
Blok (10) odgrywa dźwięk bębna przez określoną ilość taktów.
Uwaga: w przeciwieństwie do bloku (5) powyższy blok (10) zakończy swoje działanie dopiero w momencie, kiedy zakończy odtwarzanie całego dźwięku.
Uwaga 2: Czas trwania taktu można ustawiać, szczegółowo dowiemy się o tym w jednej z kolejnej lekcji.
Eksperyment: wypróbuj różne dźwięki bębnów, niektóre są ciekawe.
Ostatni element to (11). Po wykonaniu tego bloku nasz duszek będzie ubrany w kolejny kostium. O tym jakie kostiumy posiada nasz duszek dowiemy się w zakładce „Kostiumy” (punkt 5 w tej części pierwszej lekcji). W naszym programie duszek ma dwa kostiumy, zmieniając je stwarzamy efekt chodzenia.
Dobrnęliśmy do końca, mam nadzieję, że Ci się podobało. Z premedytacją pominąłem jedną kwestię, dzięki której mój program wygląda jak na przykładzie. Zagadka: o jakiej kwestii nie wspomniałem i czy udało Ci się znaleźć odpowiednie opcje, żeby dopasować wygląd do przykładu? Rozwiązanie zagadki już w kolejnej lekcji 😀
Już niebawem kolejna, równie ciekawa lekcja. Podsumowanie wszystkich lekcji znajdziesz na tej stronie.