materiały pomocnicze na warsztaty w ramach XIII Ogólnopolskiego Zjazdu Opiekunów Szkolnych Pracowni Internetowych w Mrozach Autor opracowania Maciej Borowiecki Warszawa, 25 maja 2013
Zawartość POZNAJEMY DUSZKA... 3 POZNAJEMY SCENĘ... 6 TWORZYMY PRZYKŁADOWY PROJEKT... 7 CO NOWEGO W SCRATCH 2.0?... 9 Opracowanie Agnieszka Borowiecka Strona 2
Scratch podbija świat Scratch to wizualny język programowania zaprojektowany przez Mitchela Resnicka z MIT (Massachusetts Institute of Technology). Został stworzony do uczenia dzieci i młodzieży podstaw programowania. Jest językiem skryptowym, budujemy w nim skrypty układając je z bloków (reprezentujących instrukcje sterujące, wyrażenia, itd.). Wyjątkowo łatwo i w atrakcyjny sposób można w nim tworzyć interaktywne historyjki, gry i animacje. Swoją wielką popularność (nie tylko wśród dzieci i młodzieży) zawdzięcza też stronie http://scratch.mit.edu, która udostępnia nie tylko pomoc oraz wersję instalacyjną do pobrania, ale pełni rolę portalu społecznościowego. Za jego pomocą zarejestrowani użytkownicy mogą publikować swoje projekty oraz komentarze. A jest ich dużo, ok. 1.5 mln użytkowników na całym świecie oraz ponad 3 mln projektów. Obecnie mamy do dyspozycji dwie wersje Scratch a: 1.4 (do pobrania i zainstalowania na komputerze, dostępna na różne systemy operacyjne) oraz od 10 maja 2013 roku wersję 2.0 (wcześniej była dostępna wersja beta), działającą w przeglądarce internetowej nie musimy instalować Scratch a na swoim komputerze! Poznajemy duszka Głównym bohaterem Scratch a jest duszek (ang. sprite). Projekty mogą wykorzystywać wiele duszków równocześnie. Z każdym duszkiem związane są trzy zakładki: skrypty, kostiumy oraz dźwięki. Przyciski określają tryb pracy duszka duszek obracając się wskazuje kierunek, duszek wskazuje tylko kierunki lewo-prawo, duszek nie wskazuje kierunku. Najważniejszą zakładką są Skrypty. Tutaj przeciągamy bloki-instrukcje i tworzymy polecenia dla duszka. Zestaw bloków podzielony jest na osiem kategorii, bloki każdej z nich oznaczone są innym kolorem. Opracowanie Agnieszka Borowiecka Strona 3
Napiszmy pierwszy skrypt, niech duszek narysuje kwadrat. Skorzystamy z bloczków z dwóch kategorii: Kontrola i Ruch. Przeciągnijmy z grupy Kontrola bloczek powtórz, następnie kliknijmy w 10 i zmieńmy ją na liczbę 4 (kwadrat składa się z 4 boków). Wybieramy teraz grupę Ruch i przeciągamy kolejno dwa bloczki (przesuń i obróć w prawo) odpowiednio je wpasowując w ramiona instrukcji powtórz. Zmieniamy odległość np. na 150 i kąt obrotu na 90 stopni. Kliknijmy teraz podwójnie w nasz skrypt żeby go wykonać i... niemiłe zaskoczenie, duszek co prawda wykonał jakiś ruch, ale nic nie narysował. Musimy jeszcze przyłożyć pisak do sceny, w tym celu potrzebny jest bloczek przyłóż z grupy Pisak. Dodajmy też blok kiedy kliknięto zieloną flagę do uruchamiania skryptów. Opracowanie Agnieszka Borowiecka Strona 4
Druga zakładka Kostiumy służy do edytowania (dodawania, usuwania, poprawiania) kostiumów duszka. Domyślny duszek-kot ma dwa kostiumy. Możemy je zmieniać co jakiś czas, uzyskamy wtedy efekt animacji, duszek będzie ruszał nogami. Ułóżmy następny skrypt, który będzie zmieniał kostium cyklicznie co 0.3 sekundy, oprócz bloczków z grupy Kontrola skorzystamy jeszcze z bloczka następny kostium z grupy Wygląd. Bloczek zawsze powoduje powtarzanie czynności do naciśnięcia ikony lub uruchomienia bloczka zatrzymaj wszystko. Zmieńmy poprzedni skrypt tak, aby duszek chodził po okręgu powtórzymy 360 razy ruch o jeden kroczek i obrót o 1 stopień. Obydwa skrypty będą się wykonywać równolegle po kliknięciu ikony rozpocznij skrypty zielonej flagi. Opracowanie Agnieszka Borowiecka Strona 5
Trzecia zakładka Dźwięki pozwala przypisać duszkowi dźwięki. Możemy je importować z pliku lub bezpośrednio nagrać. Duszek-kot ma przypisany domyślnie jeden dźwięk krótkie miauknięcie. Dodajmy kolejny, trzeci skrypt. Duszek-kot po kliknięciu w niego ma zamiauczeć. Poznajemy scenę Obszar, po którym porusza się duszek nazywamy sceną. Scena jest prostokątem o wymiarach 480 na 360 punktów. Ze sceną związane są też trzy zakładki. Wybierz scenę w obszarze zarządzania duszkami i sceną, żeby je zobaczyć. Scena może mieć wiele teł. Nowe tło możemy wczytać z bogatej galerii, stworzyć w edytorze graficznym lub zarejestrować kamerą. Wybierzmy tło z galerii, w tym celu należy nacisnąć przycisk Importuj. Następnie puste domyślne tło możemy usunąć. Ze sceną są też związane dźwięki, standardowo do sceny przypisane jest krótkie pyknięcie. Dla sceny możemy także pisać skrypty, zestaw bloczków jest jednak inny, np. kategoria Ruch jest pusta. Opracowanie Agnieszka Borowiecka Strona 6
Załadujmy tło, np. beach-malibu z folderu nature, a następnie zbudujmy skrypt, który po kliknięciu myszką wyśle w to miejsce duszka i wyda sygnał dźwiękowy. W kategorii Kontrola bez problemu odnajdziemy bloczek kiedy kliknięto Scena, problem w tym, że kategoria Ruch jest pusta scena nie wykonuje ruchów typowych dla duszka. Potrzebujemy wykonać ruch duszkiem, w tym celu wyślemy komunikat do duszka (kategoria Kontrola, bloczek nadaj). Definiujemy nowy komunikat (wystarczy kliknąć nowy... w bloczku nadaj) i nadajemy mu nazwę, np. idź na pozycję myszy. Kliknijmy teraz dwukrotnie w duszka i zdefiniujmy dla niego nowy skrypt. Z grupy Kontrola wybieramy bloczek kiedy otrzymam i z grupy Ruch podpinamy bloczek idź do... i wybieramy z listy wskaźnik myszy. Tworzymy przykładowy projekt Przygotujmy w dowolnym edytorze graficznym planszę taką, jak na poniższym rysunku. Wymiary rysunku powinny pokrywać się z wymiarami sceny, czyli 480 na 360 punktów. Długość boku pojedynczego kwadratu-pola wynosi 40. Pola skrajne powinny być czerwone, za wyjątkiem jednego w innym kolorze (na przykładowej planszy pole niebieskie). Zielone pola wewnątrz planszy mogą być dowolnie położone, ale tak, żeby tworzyły ścieżkę przejścia do pola niebieskiego, czyli wyjścia. Opracowanie Agnieszka Borowiecka Strona 7
Duszka ustawimy na jednym z zielonych pól. Klawiszami kursora w lewo i prawo będziemy go obracać o 90 stopni, klawiszem kursora do góry przesuwać do przodu o jedno pole zgodnie z kierunkiem patrzenia duszka. Próba wejścia na pole czerwone będzie sygnalizowana miauczeniem, a osiągnięcie wyjścia stosownym komunikatem. Po kliknięciu w zieloną flagę duszek powinien przebierać nóżkami, a po osiągnięciu niebieskiego pola zatrzymać wszystkie skrypty. Po załadowaniu planszy na scenę należy pomniejszyć duszka tak, aby mieścił się w jednym polu. Można to zrobić wybierając odpowiedni przycisk z paska narzędziowego i wielokrotnie klikając w duszka. Najłatwiejsze do zbudowania będą skrypty obracające duszka. Z grupy Kontrola wybieramy bloczek kiedy klawisz naciśnięty, z listy rozwijalnej odpowiedni klawisz i podczepiamy bloczek obrotu. Opracowanie Agnieszka Borowiecka Strona 8
Więcej czynności musimy wykonać budując skrypt reagujący na naciśniecie klawisza kursora do góry. Przesuwamy duszka o jedno pole do przodu (czyli o 40), a następnie badamy, czy nowe pole nie jest w kolorze czerwonym. Wygodnie będzie tu użyć bloczka jeżeli... w przeciwnym przypadku inne czynności wykonujemy, gdy pole sąsiednie jest czerwone, inne gdy zielone lub niebieskie. Zbadanie, na jakim polu stoi duszek, umożliwia bloczek dotyka koloru? z grupy Czujniki. Wybierając kolor do czujnika należy kliknąć w kolor czujnika, a następnie w odpowiedni kolor na scenie. Wówczas kolor ze sceny zostanie skopiowany do czujnika i mamy pewność, że kolory są zgodne, a nie np. nieznacznie różnią się odcieniem. Jeśli spełniony będzie warunek, że duszek dotyka koloru czerwonego, a więc stanął na czerwonym polu, należy się wycofać (ruch o -40) i zagrać dźwięk duszka-kota. W przeciwnym przypadku pole jest dozwolone, należy jeszcze sprawdzić, czy nie dotarliśmy do wyjścia, czyli czy duszek nie dotyka koloru niebieskiego. Tutaj wystarczy bloczek jeżeli (przeciwnego przypadku nie będzie), który wpasowujemy w ramiona części w przeciwnym przypadku. Jeśli warunek jest prawdziwy, to z grupy Wygląd podczepiamy bloczek powiedz przez 2 s i następnie z grupy Kontrola bloczek zatrzymaj wszystko. Pozostał do zaprojektowania jeszcze skrypt inicjujący. Powinniśmy w nim ustawić duszka na pozycji startowej oraz uruchomić animację. Ustawiając duszka korzystamy z bloczka idź do x... y... Podane współrzędne dotyczą lewego górnego zielonego pola na przykładowej planszy. Należy je dopasować do własnej planszy. Co nowego w? Scratch w wersji 1.4 nie daje m. in. możliwości pisania własnych procedur i przekazywania parametrów. W związku z tym brakuje też możliwości stosowania rekurencji., nie dość, że działa w przeglądarce internetowej, to umożliwia definiowanie własnych bloków, czyli procedur z parametrami. W jednym z następnych numerów EFUN przedstawimy bliżej Scratch a w wersji 2.0. Opracowanie Agnieszka Borowiecka Strona 9
Opracowanie Agnieszka Borowiecka Strona 10
Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie 02-026 Warszawa, ul. Raszyńska 8/10 tel. 22 579-41-00; fax 22 579-41-70 e-mail: oeiizk@oeiizk.waw.pl http://www.oeiizk.waw.pl