Zdjęcie przedstawia sygnalizację świetlną dla pieszych i rowerzystów.
Zdjęcie przedstawia sygnalizację świetlną dla pieszych i rowerzystów.
Pierwsze projekty w Scratchu
Źródło: Andre Averdiek z Pixabay, licencja CC0
Duszek przechodzi przez jezdnię
Twoim zadaniem będzie zaprojektowanie animacji, w której Duszek - kot (lub jeśli wolisz, możesz wybrać inną postać z galerii lub zaprojektować własną) przechodzi przez jezdnię na przejściu dla pieszych z sygnalizatorem świetlnym. Po kliknięciu w zieloną flagę zapala się czerwone światło, które świeci przez określony czas (np. sekundy). Kot mówi (w dymku komiksowym), że poczeka aż zapali się zielone światło. Po zapaleniu się zielonego światła przechodzi przez jezdnię. Przykładowe działanie projektu możesz obejrzeć na filmie.
R1TELdNkmE8Eh
Film przedstawiający wizualizację poprawnie działającego skryptu. Duszek najpierw czeka na zielone światło. Kiedy światło zmienia kolor na zielony - duszek przechodzi przez jezdnię.
Film przedstawiający wizualizację poprawnie działającego skryptu. Duszek najpierw czeka na zielone światło. Kiedy światło zmienia kolor na zielony - duszek przechodzi przez jezdnię.
Film przedstawiający wizualizację poprawnie działającego skryptu. Duszek najpierw czeka na zielone światło. Kiedy światło zmienia kolor na zielony - duszek przechodzi przez jezdnię.
Ćwiczenie 1
W edytorze graficznym Scratcha lub dowolnym innym przygotuj tło sceny. Poniższy rysunek pomoże ci określić wymiary poszczególnych elementów.
RAW4cnGT2P3I6
Ilustracja przedstawiająca dołączone wcześniej przykładowe tło z jezdnią rozbudowane o wymiary elementów na scenie. Szerokość jezdni to 220 punktów, a pobocza to 130 po obu stronach. Wysokość przejścia dla pieszych to 100 punktów z odległością zarówno od górnej, jak i dolnej krawędzi to 130 punktów.
Przykładowa grafika, która może zostać użyta w skrypcie.
Źródło: nn, licencja: CC BY 3.0.
Wykonaj tło w takich wymiarach, jakie ma scena w programie Scratch. Dzięki temu, potem łatwiej będzie ci obliczyć gdzie powinien znajdować się duszek.
Przykładowe tło:
RrWqId1hbcxeV
Ilustracja składa się z zielonego tła przedstawiającego pobocze i czarnego prostokąta rozpiętego na całą wysokość umieszczonego na środku sceny będącego reprezentacją jezdni. Wewnątrz wspomnianego prostokąta uwydatniono 5 białych podłużnych pasków. Są one wycentrowane i służą za przejście dla pieszych.
Przykładowa grafika, która może zostać użyta w skrypcie.
Źródło: GroMar, licencja: CC BY 3.0.
Oglądając film możesz zauważyć, że oprócz kota przechodzącego przez jezdnię na scenie jest jeszcze sygnalizator, który zmienia światło z czerwonego na zielone.
Można przygotować dwa tła sceny, jedno z czerwonym światłem, drugie z zielonym. Sygnalizator może też być duszkiem z dwoma kostiumami. To drugie rozwiązanie jest wygodniejsze i pozwala w łatwy sposób ustawić sygnalizator w dowolnym miejscu na scenie.
Ćwiczenie 2
W edytorze graficznym przygotuj rysunek duszka - sygnalizatora świetlnego. Wymiary dobierz sam. Światła pozostaw zgaszone, po utworzeniu dwóch kostiumów duszka uzupełnisz je odpowiednio kolorem zielonym lub czerwonym. W programie Scratch utwórz nowy projekt, wczytaj ze swoich plików tło sceny i duszka (sygnalizator świetlny).
Jeśli rysunek tła został przygotowany w zewnętrznym edytorze graficznym, wgraj tło sceny z pliku (następnie usuń puste tło) oraz wgraj nowego duszka z pliku (sygnalizator świetlny). Przesuń sygnalizator na właściwe (według twojego uznania) miejsce na scenie. Możesz go ustawić pionowo lub poziomo, odpowiednio obracając.
Grafika przedstawiająca sygnalizator będący czarnym prostokątem ustawionym poziomo z dwoma białymi kołami służącymi za światła.
Grafika przedstawiająca przykładowy sygnalizator.
Źródło: GroMar, licencja: CC BY 3.0.
Aby dodać nowego duszka oraz nowe tło sceny wybierz polecenie: Wczytaj duszka/ Wczytaj tło i wskażwcześniej przygotowany plik.
Ćwiczenie 3
Utwórz nowy kostium dla sygnalizatora poprzez skopiowanie pierwszego. Uzupełnij kolory, zapal czerwone światło dla pierwszego kostiumu i zielone dla drugiego. Następnie zmień nazwę nowo utworzonego duszka na sygnalizator, oraz nazwy jego kostiumów odpowiednio na czerwone_swiatlo i zielone_swiatlo.
Żeby skopiować kostium, wybierz zakładkę Kostiumy, następnie kliknij prawym przyciskiem myszy w kostium i z menu kontekstowego wybierz opcję duplikuj.
Poniższy zrzut ekranu przedstawia umiejscowienie przycisku duplikuj.
R1OGnZfH199YA
Zrzut ekranu przedstawiający umiejscowienie przycisku "duplikuj". Dostępny jest w zakładce "Kostiumy" jako pierwsza opcja w menu kontekstowym po najechaniu kursorem i kliknięciu prawym przyciskiem myszy na kostium, który chcemy zmienić.
W projekcie występują dwa duszki, każdy z nich ma dwa kostiumy. Warto nadać im własne imiona (nazwy). Tworząc skrypty, często odwołujemy się do duszka lub kostiumu za pośrednictwem jego nazwy.
Budujemy skrypty dla duszków
W projekcie mamy dwa duszki. Zgodnie ze scenariuszem, obydwa wykonują określone czynności po kliknięciu w zieloną flagę. Zacznij od przygotowania skryptu zmieniającego światło na przejściu dla pieszych.
Ćwiczenie 4
Utwórz skrypt dla duszka – sygnalizatora świetlnego, tak aby najpierw po rozpoczęciu skryptu zmieniał kolor na czerwony. Następnie po upływie trzech sekund zmienił kolor na zielony.
Do zrealizowania tego zadania możesz wykorzystać blok zmień kostium na …m8a9e7162e058e4ef_d565e175zmień kostium na …, który znajduje się w zakładce Wygląd.
Przykładowy skrypt:
RpVlFWuzVixEs
Skrypt rozpoczynający się od bloku "kiedy kliknięto" inicjalizujący kolejny etap "zmień kostium na czerwone_swiatlo". Trzeci klocek jest blokiem kontroli "czekaj 3 sekundy", po którym następuje akcja "zmień kostium na zielone_swiatlo". Całość zakończona blokiem "zatrzymaj ten skrypt".
Skrypt realizujący zmianę kostiumów duszka, który jest sygnalizatorem.
Źródło: GroMar, licencja: CC BY 3.0.
Zastanów się, jaka powinna być pozycja początkowa kota, aby znalazł się przed przejściem dla pieszych po lewej stronie. Niech to będzie kroków na lewo od krawędzi jezdni. Swój marsz może zakończyć kroków na prawo od krawędzi jezdni. Zakładając, że pojedynczy ruch kota to kroków, odpowiedz na pytanie, ile ruchów musi wykonać, aby przejść przez jezdnię? Pamiętaj o uwzględnieniu szerokości jezdni.
Ćwiczenie 5
Uzupełnij poniższą listę kroków dla duszka‑kota. Pomoże ci w tym rysunekm8a9e7162e058e4ef_d565e193rysunek z wymiarami jezdni.
RsqIM8iCHBPoh
Interaktywne zadanie z wypełnianiem
Interaktywne zadanie z wypełnianiem
Interaktywne zadanie, w którym należy uzupełnić algorytm dla duszka - kota.
Źródło: Janusz Wierzbicki, licencja: CC BY 3.0.
Ćwiczenie 6
Utwórz skrypt dla kota według listy kroków z poprzedniego zadania.
Powtórz … razym8a9e7162e058e4ef_d565e207Powtórz … razy to ważny klocek, który znajduje się w kategorii Kontrola i służy powtórzeniu wybranych instrukcji określoną liczbę razy. Zwróć uwagę, że klocki z instrukcjami, które mają być powtórzone, powinny znaleźć się wewnątrz tego klocka.
Blok Następny kostium działa w taki sposób, że zmienia aktualny kostium wybranego duszka na następny, który znajduje się w zakładce Kostiumy.
RuRCjypMfbnVL
Skrypt realizujący przejście duszka przez jezdnię po kliknięciu zielonej flagi. Najpierw duszek oczekuje przez trzy sekundy, aż będzie mógł przejść przez jezdnię, a potem przechodzi przez pasy. Pierwszy wiersz: Kiedy kliknięto zieloną flagę. Drugi wiersz: Idź do współrzędnych "x" równego minus sto pięćdziesiąt oraz "y" równego zero. Trzeci wiersz: Powiedz "Czekam na zielone światło!" przez trzy sekundy. Czwarty wiersz: Powtórz piętnaście razy. Piąty wiersz: Przesuń o dwadzieścia kroków. Szósty wiersz: Następny kostium. Siódmy wiersz: Czekaj dwie dziesiąte sekundy. Ósmy wiersz: Zatrzymaj ten skrypt.
Skrypt realizujący przejście duszka przez jezdnię po kliknięciu zielonej flagi.
Źródło: GroMar, licencja: CC BY 3.0.
Ważne!
Pamiętaj o zapisaniu projektu i sprawdzeniu działania.
m8a9e7162e058e4ef_d565e175
RFJYjIosyu9tw
Blok "zmień kostium na kostium2" realizujący zamianę kostiumu na wybrany z listy.
Blok realizujący zamianę kostiumu na wybrany z listy.
Źródło: GroMar, licencja: CC BY 3.0.
Powoduje zmianę kostiumu duszka na inny wybrany z listy rozwijalnej. Przykład:
R10euoV5VPOQv
Skrypt realizujący zmianę kostiumu duszka na wybrany z listy rozwijalnej po kliknięciu zielonej flagi. Pierwszy wiersz: Kiedy kliknięto zieloną flagę. Drugi wiersz: Zmień kostium na "zielony". Trzeci wiersz: Powiedz "Zmieniłem kostium na zielony!". Czwarty wiersz: Zatrzymaj ten skrypt.
Skrypt realizujący zmianę kostiumu duszka na wybrany z listy rozwijalnej po kliknięciu zielonej flagi.
Źródło: GroMar, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e193
RFVI3W3mVEzKh
Ilustracja przedstawiająca dołączone wcześniej przykładowe tło z jezdnią rozbudowane o wymiary elementów na scenie. Szerokość jezdni to 220 punktów, a pobocza to 130 po obu stronach. Wysokość przejścia dla pieszych to 100 punktów z odległością zarówno od górnej, jak i dolnej krawędzi to 130 punktów.
Przykładowa grafika, która może zostać użyta w skrypcie.
Źródło: nn, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e207
R13wYcyFmi2DB
Żółty klocek kontroli: powtórz 10 razy
Blok kontroli w skryptach Scratch
Źródło: GroMar, licencja: CC BY 3.0.
Bloczek powoduje powtarzanie zestawu instrukcji podaną liczbę razy.
Przykład:
R1EOnExfDdgs0
Skrypt rozpoczynający się pod bloku "kiedy kliknięto" z następującym po nim blokiem "Ustaw rozmiar pisaka na 3". Rozbudowany kolejno o klocek pętli "Powtórz 10 razy" z zagnieżdżonymi 4 akcjami: "przyłóż pisak", "przesuń o 20 kroków", "podnieś pisak" oraz "przesuń o 20 kroków". Blok powtórzeń zakończony jest klockiem zatrzymującym ten skrypt.
Skrypt realizujący powtarzanie zestawu instrukcji podaną liczbę razy po kliknięciu zielonej flagi.
Źródło: GroMar, licencja: CC BY 3.0.
Modyfikujemy scenariusz
Zmodyfikujemy nieznacznie scenariusz projektu Duszek przechodzi przez jezdnię. Po uruchomieniu, czyli kliknięciu w zieloną flagę, kot ustawi się przed jezdnią i poprosi o pozwolenie na przejście. Kliknięcie duszka myszką będzie oznaczało, że zgadzamy się, by przeszedł. Jednak duszek, zanim przejdzie, powinien sprawdzić, czy nie świeci się czerwone światło. Jeśli tak, to wyświetla napis, że czeka na zielone.
Zmodyfikować musimy także działanie sygnalizatora, tak aby światło zmieniało się co kilka sekund z czerwonego na zielone i odwrotnie. Na filmie możesz obejrzeć przykład działania zmodyfikowanego projektu.
Zmodyfikuj skrypt duszka‑sygnalizatora, tak aby po kliknięciu w zieloną flagę cyklicznie zmieniał światło. Na początku niech będzie zapalone czerwone światło.
W celu uzyskania cyklicznych zmian kostiumów, wykorzystaj blok Zawsze. Znajduje się on w zakładce . Połącz go z blokiem Następny kostium, który znajduje się w zakładce Wygląd.
Przykładowy skrypt:
R16YZyhMiDRMq
Skrypt Scratch składający się z 3 bloków głównych i 2 podrzędnych. Całość rozpoczyna się od zdarzenia 'kiedy kliknięto' odpalającego kolejne polecenie 'zmień kostium na czerwone_swiatlo'. Do bloku zmiany kostiumu dołączona jest akcja 'zawsze' zawierająca 2 zagnieżdżone bloki: 'czekaj 3 sekundy' i 'następny kostium' z powrotem na początek bloku nadrzędnego.
Skrypt Scratch do zmiany kostiumu postaci co 3 sekundy
Źródło: GroMar, licencja: CC BY 3.0.
Zmodyfikuj działania kota, tak aby po uruchomieniu programu tylko ustawił się przed jezdnią i poczekał na pozwolenie na przejście. Dopiero po jego otrzymaniu, powinien sprawdzić kolor światła i jeśli trzeba, czekać na zielone. W tym celu podzielimy dotychczasowy skrypt obsługujący duszka – kota na dwa:
inicjujący, uruchamiany po kliknięciu w zieloną flagę,
realizujący główne zadanie kota – przejście przez jezdnię, uruchamiany po kliknięciu kotka.
Ćwiczenie 8
Przygotuj skrypt dla kota uruchamiany po kliknięciu w zieloną flagę. Ma on wykonać teraz tylko dwie czynności: ustawić duszka na pozycji wyjściowej oraz wyświetlić w dymku komiksowym prośbę o pozwolenie na przejście przez jezdnię.
Zamiast bloku powiedz … przez ... sm8a9e7162e058e4ef_d565e289powiedz … przez ... s użyj klocka powiedz …m8a9e7162e058e4ef_d565e280powiedz … . Nie wiesz, jak długo kot będzie czekał na kliknięcie.
Przykładowy skrypt:
RVJc3boNdZFZl
Skrypt stworzony w Scratch zbudowany z 5 bloków. Akcja rozpoczyna się od zdarzenia "kiedy kliknięto" odpalającego kolejne polecenie "Idź do x: -150 i y: 0" z następującym blokiem ruchu do zmiany kierunku na 90. Następnie wywoływany jest blok wyglądu do powiedzenia żądanej przez nas frazy "Czekam na pozwolenie, aby przejść przez pasy!". Całość zakończona jest blokiem zatrzymującym skrypt.
Przykładowy skrypt języka Scratch do poruszania duszkiem
Źródło: GroMar, licencja: CC BY 3.0.
Jakie czynności powinien wykonać kot, kiedy otrzyma pozwolenie na przejście przez jezdnię? Powinien przed przejściem sprawdzić, jakie światło jest zapalone. Jeżeli świeci się czerwone światło, kot musi poczekać, aż zmieni się na zielone. Następnie przechodzi przez jezdnię. W tym celu wykona analogiczne działania do tych w dotychczasowym projekcie.
Ćwiczenie 9
Zbuduj drugi skrypt kota, według którego będzie czekał, aż światło na sygnalizatorze zmieni kolor na zielony. Następnie duszek przejdzie przez pasy na drugą stronę jezdni.
Aby wyłączyć dymek komiksowy, użyj klocka powiedz …m8a9e7162e058e4ef_d565e280powiedz … z pustym tekstem do wyświetlenia.
R1O4td5uX3m3c
Film przedstawiający jak stworzyć warunek skryptu odpowiedzialny za sprawdzanie, czy na sygnalizatorze świeci się czerwone światło.
Film przedstawiający jak stworzyć warunek skryptu odpowiedzialny za sprawdzanie, czy na sygnalizatorze świeci się czerwone światło.
Film przedstawiający jak stworzyć warunek skryptu odpowiedzialny za sprawdzanie, czy na sygnalizatorze świeci się czerwone światło.
Film przedstawiający jak stworzyć warunek skryptu odpowiedzialny za sprawdzanie, czy na sygnalizatorze świeci się czerwone światło.
Źródło: GroMar, licencja: CC BY 3.0.
Film przedstawiający jak stworzyć warunek skryptu odpowiedzialny za sprawdzanie, czy na sygnalizatorze świeci się czerwone światło.
Do oczekiwania na zielone światło wykorzystaj klocek czekaj aż ...m8a9e7162e058e4ef_d565e355czekaj aż ... Warunek zbuduj analogicznie, jak instrukcję jeżelim8a9e7162e058e4ef_d565e327jeżeli.
Przykładowy skrypt:
RFtjjD6nv7cIK
Skrypt rozpoczynający się od bloku "kiedy duszek kliknięty" z dołożonym blokiem "powiedz" wyświetlającym pusty dymek. Rozbudowany o warunek "jeżeli nazwa_kostiumu z sygnalizatora jest taka sama jak czerwone_swiatlo to" z zagnieżdżoną akcją "powiedz Czekam na zielone światło!". Do warunku "jeżeli" dołączony jest blok "czekaj aż nazwa kostiumu z sygnalizator = zielone_swiatlo". Po nim następuje skrypt wyglądu typu "powiedz" z pustą frazą. Następnie dołączony jest blok kontroli "Powtórz 15 razy" z zagnieżdżonymi następującymi akcjami: "przesuń o 20 kroków", "następny kostium" i "czekaj 0.2 sekundy". Do bloku powtórzenia dołączona jest akcja "powiedz Dziękuję! przez 2 sekundy" i blok kończący skrypt "zatrzymaj wszystko".
Skrypt duszka do przeprowadzenia czekania na odpowiednie światło na sygnalizatorze i przejście przez jezdnię
Źródło: GroMar, licencja: CC BY 3.0.
Ważne!
Pamiętaj o zapisaniu projektu. Wypróbuj, jak działa po modyfikacjach.
m8a9e7162e058e4ef_d565e280
RvVVVBAsuAWxB
Klocek Scratch z kategorii "Wygląd" z tekstem "powiedz Cześć!".
Klocek: powiedz
Źródło: GroMar, licencja: CC BY 3.0.
Wyświetla w dymku tekst podany w polu edycyjnym, nie wstrzymuje działania skryptu, wykonywane są w związku z tym kolejne instrukcje. Dymek jest kasowany po uruchomieniu programu zieloną flagą, naciśnięciu przycisku stop, wykonaniu klocka zatrzymaj wszystko lub wykonaniu klocka powiedz z pustym tekstem.
Przykład:
R1Nc7OGtF1aC0
Skrypt zbudowany z 3 bloków, odpowiednio: "kiedy kliknięto w zieloną flagę", "powiedz Cześć!" i "zatrzymaj ten skrypt".
Skrypt realizujący wyświetlenie w dymku tekstu podanego w polu edycyjnym po kliknięciu zielonej flagi
Źródło: GroMar, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e289
R1Tf9W3rKGz2B
Klocek Scratch z kategorii Wygląd z tekstem "powiedz Cześć! przez 2 sekundy".
Klocek: powiedz Cześć! przez 2 skundy
Źródło: GroMar, licencja: CC BY 3.0.
Wyświetla w dymku tekst podany w polu edycyjnym przez określony czas. Oznacza to wstrzymanie działania skryptu przez ten czas. Przykład:
R1XcQ7MYmGjJR
Skrypt zbudowany z 3 bloków: "kiedy kliknięto w zieloną flagę", akcji "powiedz przez 2 sekundy" z komunikatem "Czekam przez dwie sekundy!" i bloku domykającego "zatrzymaj ten skrypt".
Skrypt realizujący wyświetlenie w dymku tekstu podanego w polu edycyjnym przez określony czas po kliknięciu zielonej flagi
Źródło: GroMar, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e327
RExT7duchKU4Z
Klocek kontroli języka Scratch typu "Jeżeli ... to"
Klocek: jeżeli ... to
Źródło: GroMar, licencja: CC BY 3.0.
Bloczek instrukcji warunkowej, wykonany zostanie raz, jeżeli warunek logiczny wstawiony po słowie jeżeli jest prawdziwy. Warunki budujemy z bloczków kategorii Czujniki i Wyrażenia. Przykład:
R1KU1klrRD3EP
Skrypt języka Scratch rozpoczynający się od instrukcji "kiedy kliknięto w zieloną flagę". Rozbudowany o blok "zawsze" składający się z 3 zagnieżdżonych bloków: "następny kostium", "czekaj 2 sekundy", warunku "jeżeli klawisz spacja naciśnięty to" z blokiem "zatrzymaj ten skrypt" znajdującym się wewnątrz instrukcji.
Skrypt realizujący instrukcję warunkową
Źródło: GroMar, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e336
R1cpdrz53j8Sd
Zielony klocek Scratch z kategorii "Wyrażenia" z dwoma białymi polami do wpisania wartości i znakiem równa się między nimi.
Klocek: Porównanie wartości
Źródło: GroMar, licencja: CC BY 3.0.
Bloczek porównania. Wynikiem jest prawda, kiedy lewa strona równa się prawej.
m8a9e7162e058e4ef_d565e346
R1U8Xv5XcbYl9
Jasnoniebieski klocek blok Scratch z kategorii "Czujniki" z wybranym polem z listy "pozycja x" z wartością "Kot".
Klocek: pozycja x z kot1
Źródło: GroMar, licencja: CC BY 3.0.
Aktualna wartość wybrana z pierwszej listy rozwijalnej, dotycząca duszka wybranego z drugiej listy lub sceny. Można wybrać -ową lub -ową współrzędną, kierunek, numer kostiumu lub nazwę kostiumu, rozmiar, głośność. Dla sceny można wybrać numer lub nazwę tła, głośność. Przykład:
R1DVCBb34IFsg
Skrypt języka Scratch rozpoczynający się od bloku "kiedy kliknięto w zieloną flagę" z dołączonym blokiem warunku "jeżeli nazwa kostiumu z Zielony kot = 2 to" i podrzędnym mu klockiem "powiedz Zielony kot na drugi kostium". Całość zakończona akcją "zatrzymaj ten skrypt".
Skrypt realizujący instrukcję warunkową.
Źródło: GroMar, licencja: CC BY 3.0.
m8a9e7162e058e4ef_d565e355
R7y1UUv8jruRE
Żółty klocek języka Scratch kategorii "Kontrola" z teksem "czekaj aż ...".
Klocek: czekaj aż
Źródło: GroMar, licencja: CC BY 3.0.
Wstrzymuje działanie skryptu do momentu spełnienia warunku logicznego. Warunki budujemy z bloczków kategorii Czujniki i Wyrażenia.
Przykład:
RANmF2OEUcp0H
Skrypt języka Scratch rozpoczynający się od bloku "kiedy kliknięto w zieloną flagę" rozbudowanego o fioletowy blok wyglądu z akcją "powiedz Czekam, aż najedziesz na mnie myszką!". Trzeci blok rozszerzający poprzedni jest klockiem kontroli z tekstem "czekaj aż dotyka wskaźnik myszki ?". Przedostatni blok to blok typu "powiedz" z komunikatem "Najechałeś na mnie myszką!". Ostatnio klocek jest akcją "zatrzymaj ten skrypt".
Skrypt realizujący wstrzymanie działanie skryptu do momentu spełnienia warunku logicznego.
Źródło: GroMar, licencja: CC BY 3.0.
Wszelkie przemyślenia możesz zapisać w załączonym notatniku.