Cześć tu znowu ja OLMO 😉
Jeśli nie widziałeś części pierwszej zajrzyj do wpisu 6. Gra Scratch „Wyścig” – część 1
Poniżej zamieszczam film z nagraniem budowania całej gry, więc nawet jeśli nie czytałeś poprzedniego wpisu możesz też się dobrze bawić z Nami.
Dzisiaj pokażę Wam ostateczne skrypty. W poprzednim wpisie opisałem jak zbudować plansze i naszych bohaterów, dzisiaj dopiero zajmiemy się budowaniem całej akcji. Dopiero się będzie działo 😉
Nagranie z budowy gry
No to zaczynajmy. Uwaga film jest strasznie długi, proponuję więc pracować równocześnie z nim. Połowa filmu to budowanie samej planszy Monika z Olą pokazują tutaj 2 sposoby, wy możecie po prostu wybrać coś z galerii i zabrać się za budowanie samej gry.
Dowiedziałem się od Moniki, że dorośli którzy tworzą programy dzielą się na tych co tworzą właśnie wygląd i umieją pracować w programach graficznych, często są też nazywani Grafikami. Aby gra ładnie wyglądała to oni mają największy wpływ na jej ostateczny wygląd. Grafik nie musi znać się na programowaniu ani tzw. kodowaniu.
Są też osoby zajmujące się programowaniem i kodowaniem oni też dalej mają swoje ulubione dziedziny i ich nazywamy Programistami albo z angielskiego Developerami.
Budowanie gry to dość skomplikowany projekt i często pracują przy nim różne osoby z całkiem innymi umiejętnościami.
Przejdźmy już lepiej do omówienia samej budowy gry.
Ożywienie wyścigówki – budowanie skryptów
Wiemy, że grę rozpoczynamy poprzez naciśniecie zielonej flagi i jest to pierwsze miejsce, gdzie gra się rozpoczyna. Tutaj ustawiamy co ma się dziać na początku:
- czy duszek ukryty czy pokazany
- miejsce w jakim znajduje się duszek
- kostium z jakim rozpoczynamy
- styl obrotów (lewo-prawo, dookoła)
- tło z jakim zaczynamy
Pierwszy skrypt wyścigówki wygląda następująco:
Mamy tutaj 4 klocki:
1. "Ustaw kierunek na 0”
Ustawiamy na początku gry by nasza wyścigówka była skierowana w odpowiednim kierunku w naszym przypadku w górę tak by jechała prosto.
2. "Idź do x: …. y: -135”
Ustawiamy miejsce w jakim będzie rozpoczynała nasza wyścigówka.
Wysokość czyli "y" jest ustalone tak jak nam pasuje na planszy by stała ona blisko dolnej krawędzi – w naszym wypadku jest to -135. Wy możecie mieć inną wartość. Zależy to od wielkości waszego pojazdu. Ważne by wpisana tutaj była jakaś liczba ze znakiem "-". Znak "+" lub "-" oznacza, że odległość od środka planszy w górę mamy wartość z "+” w dół mamy wartość z "-”.
Wiemy na jakiej wysokości ma ustawić się nasza wyścigówka. Potrzebujemy określenia jeszcze tzw. współrzędnej poziomej, czyli odległości od bocznej krawędzi. Tutaj zasada jest podobna. Liczymy odległość od środka planszy w kierunku prawej krawędzi mamy wartości dodatnie "+”, a w kierunku lewej krawędzi minus "-”. W naszym przypadku jezdnia ograniczona białymi pasami jest równo oddalona w kierunku na lewo i prawo. Nasza wyścigówka najdalej na lewo może stać w pozycji -100, a na prawo +100. Jeśli u Was jest inaczej to nie szkodzi. Ustawcie wyścigówkę maksymalnie na lewo na jezdni, sprawdźcie wartość i wpiszcie zamiast -100. Ustawcie Wasz pojazd na jezdni maksymalnie w prawo, sprawdźcie w jakiej jest pozycji i wpiszcie wartość zamiast 100.
Klocek losuj liczbę od -100 do 100 oznacza, że Moja wyścigówka pojawi się w dowolnym miejscu na jezdni między lewą a prawą krawędzią. Pamiętajcie by zmienić w tym klocku wartości na odczytane przez Was.
Przypomnę jak odczytać miejsce duszka.
Na zdjęciu Moja wyścigówka stoi na x: -100 czyli jest oddalona od środka planszy o 100 w stronę lewej krawędzi. Natomiast współrzędna y określająca wysokość ustawiona jest na -135 czyli, 135 w dół od środka planszy.
3. Klocek "Zmień kostium na ...”
Na czym polega losowanie opisałem poprzednim wpisie 6. Gra Scratch „Wyścig” – część 1 przy omawianiu zmiany kostiumu – zajrzyjcie tam. Pamiętajcie, przy zmianie kostiumu losujemy od 1 do takiej wartości ile macie kostiumów, jeśli macie 2 to losujecie od 1 do 2 jeśli 4 to od 1 do 4, ja mam 10 więc losuję kostium od 1 do 10.
4. Klocek "Zatrzymaj skrypt”
Aby nie urywać skryptów po zakończeniu wykonania należy zatrzymać ten bloczek przecież i tak się już skończył.
Uff niby to tylko 4 klocki a tyle opisywania. Zgadzam się, z tym, że obraz zastępuje 1000 słów. Lećmy więc szybciutko dalej.
Kolejny skrypt będzie wykonywał główną częścią gry:
Kiedy wyścigówka otrzyma sygnał „Start” wówczas zacznie działać ten blok skryptów.
Mamy tutaj kilka bloczków:
- zawsze,
- ustaw kierunek,
- jeżeli,
- nadaj komunikat.
Spróbujmy opowiedzieć co ten bloczek ma robić.
Kiedy otrzymam sygnał do startu zawsze będę ustawiał kierunek w górę i obserwował czy ktoś nacisnął klawisz strzałki w prawo, w lewo, w górę lub w dół. Będę też sprawdzał czy dotknięto auto Oli lub Auto Moniki. Gdy naciśnięta zostanie strzałka w prawo to przekażę informacje (do komputera, do mózgu, do centralnej jednostki lub gdziekolwiek indziej ;)) "skręć w prawo”, gdy nacisnę strzałkę w lewo to przekażę informacje "skręć w lewo", gdy strzałkę w górę – to "przyspiesz", gdy strzałkę w dół to "zwolnij". Jeśli natomiast zderzę się z autem Oli lub Moniki to przekażę informacje o zakończeniu gry.
Hm, wydaje się proste, tylko jeszcze nie wiemy co to znaczy skręć w prawo, skręć w lewo, zwolnij, przyspiesz, koniec gry i kto tą informacje ma odebrać.
A więc po kolei odebrać może tą informacje każdy element naszej gry, czyli każdy duszek czy scena. Tylko nie wszystkie informacje są potrzebne wszystkim. Scena nie musi wiedzieć co to znaczy skręć w lewo, bo ta informacja jest potrzebna wyścigówce, ale jeśli chcielibyśmy przekazać na planszy informacje poprzez napis skręcam w lewo, wówczas informacja mogłaby być złapana przez tło i wyświetlona lub nawet zmienione tło.
Jak wyglądają więc skrypty dalsze skrypty dla wyścigówki:
Co więc oznacza skręt w prawo:
- obrót wyścigówki o 15 stopni zgodnie z ruchem wskazówek zegara,
- zmianę współrzędnej odległości o +5 a więc o 5 w kierunku prawej krawędzią,
- warunek jeżeli wyścigówka dotyka zielonego pola ("trawy”) to ma się odbić, cofnąć po prostu ten ruch, czyli przesunąć wyścigówkę o 5 w kierunku lewej krawędzi, a więc zmienić wartość współrzędnej x o -5,
- zatrzymaj ten skrypt – oznacza zakończenie wykonywania tego bloczka
Analogicznie do skrętu w prawo wygląda skręt w lewo – tutaj spróbujcie sami sobie opisać ten bloczek.
Bloczek zwolnij i przyspiesz dotyczy współrzędnej y odpowiadającej za wysokość i tak gdy przyspieszamy to przesuwamy się w górę czyli +2 kroczki a gdy zwalniamy to w dół, czyli -2 kroczki.
Ostatni skrypcik naszej wyścigówki to "Koniec gry”
Ten bloczek ma za zadanie oprócz zatrzymania tego skryptu, zatrzymać inne skryptu duszka. Rozumiecie o co chodzi? Przecież wszystkie skrypty miały bloczek zatrzymaj ten skrypt to co ma tak naprawdę robić ten bloczek?
W wyjaśnieni tego pomogła mi Monika. Wszystkie bloczki miały zatrzymaj ten skrypt z wyjątkiem jednego, skryptu z bloczkiem zawsze. Mogliśmy zamiast przekazać informacje o zakończeniu gry po prostu zatrzymać skrypt, ale wówczas inne duszki nie wiedziały by o tym, że gra się skończyła.
Gry które kiedyś widziałem, nie mają tyle oddzielnych bloczków. Często jest powielony kilka razy bloczek kiedy kliknięto. Mi się jednak wydaje, że łatwiej mi jest zrozumieć jak to jest podzielone na kawałki, a jak wy uważacie?
Hmm coś mi się tutaj jeszcze nie zgadza, a Wam? Czy to w ogóle działa, bo mi się wydaje, że czegoś tu brakuje. Przecież teraz nasza wyścigówka wcale się nie porusza. Czy też to zauważyliście? Przecież brakuje wysłania informacji "Start” kiedy to się zaczyna, czy to co jest w bloczku "Kiedy otrzymam Start” nie powinno być w bloczku "Kiedy zielona flaga kliknięta”. Hmm?
Duszek Start
Aha, ten bloczek skryptu został przebudowany, po dodaniu duszka odliczającego czas.
Utwórzmy, więc tego duszka.
- Wybieramy "Maluj” podobnie jak przy malowaniu duszków w poprzednim wpisie 6. Gra Scratch „Wyścig” – część 1
- Za pomocą przycisku "T" - tekst wpisujemy w wybranym kolorze cyfrę 3
- Duplikujemy kostium – teraz zmieniamy cyfrę 3 na 2 i w taki sam sposób tworzymy następne kostiumy, tak by otrzymać w sumie 5 kostiumów. Nazwijmy je tak jak tekst na tych kostiumach czyli 3,2,1,0, start.
A tak powinien wyglądać skrypt tego duszka:
Po naciśnięciu zielonej flagi duszek ma nam się pojawić z kostiumem ustawionym na 3. Odczekuje sekundę i ma 4-krotnie zmienić kostium. Po każdej zmianie ma poczekać kolejną sekundę. Czyli w ten sposób otrzymujemy odliczanie 3, 2, 1, 0, Start i ukrywamy duszka przekazując informacje o starcie gry, którą otrzymuje nasza wyścigówka i nasze klawisze zaczynają działać.
Oto nasz brakujący element, hurra, ożywiliśmy naszą wyścigówkę. Wam też teraz już wszystko działa?
Jest mi trochę smutno, że nie zdążyliśmy omówić reszty elementów gry. Może zrobicie to samodzielnie na podstawie filmu, zanim opiszę pozostałe elementy wykorzystane przy budowie.
Fajnie mi się opowiada Wam o tych grach, chyba nie są one takie trudne. Jak ktoś coś pokazuje to od razu łatwiej.
Jak macie pomysły na kolejne gry, które moglibyśmy razem budować, dawajcie znać w opisie.
Lew OLMO
Wszystkie linki w jednym miejscu
- Edytor Scratcha - oficjalna strona Scratcha
- Projekt gry "Wyścig" - projekt na oficjalnej stronie Scratch-a
- 6. Gra Scratch „Wyścig” – część 1 - pierwsza część wpisu dotyczącej gry "Wyścig"
- 5. Gra Scratch – Latający słoń - opis wcześniejszej gry, gdzie omawiano elementy języka Scratch
- 2. Co to jest SCRATCH? - jeśli nie wiesz co to Scratch ten wpis to wyjaśni
- 1. OLMO kto to taki? - jeśli nie wiesz kim jest OLMO - opis w tym wpisie
- Film na youtube z budowy gry - Gra Wyścig - OLMO buduje gry w SCRATCH
Zostaw odpowiedź