NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 17 - Postavy ve Scratchi

V předchozím kvízu, Kvíz - Zvuky, scéna a kostýmy ve Scratchi, jsme si ověřili nabyté zkušenosti z předchozích lekcí.

V dnešním tutoriálu si ukážeme, jak ve Scratchi pracovat s postavami. Naučíme se do projektu přidat novou postavu a vytvoříme si program, ve kterém budou naše postavy mezi sebou komunikovat.

Postavy ve Scratchi

Programování ve Scratchi funguje tak, že každý kód píšeme pro nějakou postavu, scénu nebo objekt. My jsme až do teď vždy psali kód, který byl určený pro našeho kočičáka. Dosud jsme totiž vytvářeli programy, které s postavami nic nedělaly. Vzpomeňme si například na kalkulačku z lekce Cyklus s neznámým počtem opakování ve Scratchi, kde nám kočičák jenom oznamoval výsledky. To se ale teď změní. Na scéně totiž můžeme mít i několik postav a ty na sebe mohou různými způsoby reagovat. Pojďme si ukázat, jak na to 🙂

Část pro práci s postavami

S postavami se pracuje v části pod výstupem našeho programu, kde se zároveň i všechny postavy v projektu zobrazují:

Část pro práci s postavami - Scratch

V horní části můžeme postavu přejmenovat. Nastavíme zde její polohu na obrazovce změnou hodnot na osách X a Y, kdy bod [0;0] je ve středu scény. Dále zde můžeme postavu skrývat a zobrazovat, měnit její velikost a otáčet ji. Pod uvedenými možnostmi se nacházejí ikony všech postav. Jak vidíme, máme zatím v projektu jenom našeho standardního kočičáka. Pojďme to změnit 😉

Přidání postavy do projektu

Pro přidání postavy do projektu slouží tlačítko vpravo dole ve stejné sekci:

Tlačítko pro přidání postavy - Scratch

Máme zde opět na výběr několik možností, jak postavu do projektu přidat, podobně jako u zvuků a kostýmů:

  • Nahrát postavu – Umožňuje z počítače nahrát postavu v podporovaném formátu.
  • Překvapení – Vybere náhodnou postavu z knihovny Scratche.
  • Kreslit – Naši postavu můžeme namalovat pomocí nástrojů, které jsme si popsali v lekci Úpravy kostýmů ve Scratchi.
  • Vyber postavu – Postavu si sami vybereme z knihovny Scratche.

My zvolíme možnost Vyber postavu, čímž se dostaneme do známé nabídky:

Knihovna Scratch s postavami - Scratch

Oproti výběru kostýmů je zde jeden rozdíl. Zatímco knihovna kostýmů obsahuje jednotlivé kostýmy, v knihovně postav máme většinu postav reprezentovanou balíčkem několika kostýmů. Výběrem postavy tak dostaneme více kostýmů, kde postava sedí, stojí, běží a podobně.

Do vyhledávacího políčka napíšeme Dog a vyhledáme tak postavy psů:

Knihovna Scratch našla Dog - Scratch

Vybereme si postavu pojmenovanou Dog2. Když na ni klikneme, automaticky se nám přidá mezi postavy na scéně:

Dog2 mezi postavami na scéně - Scratch

Příběh, jak kočičák hafana potkal

Tím jsme si přidali do projektu postavu psa. Pojďme si tedy vytvořit takový minipříběh, ve kterém se kočičák s hafanem potká.

Příprava scény

Nejprve si přejmenujeme postavy, ať se nám s nimi lépe pracuje. Postava Postava1 se bude jmenovat kocicak a postava Dog2 se bude jmenovat pes:

Přejmenované postavy - Scratch

Abychom naladili atmosféru, změníme scénu na Farm:

Změněná scéna - Scratch

Scénu vybereme opět z knihovny Scratche, jak jsme si ukazovali v lekci Změna scény a kostýmu ve Scratchi.

Přejdeme na kostým kočičáka, klikneme na něj pravým tlačítkem myši a zkopírujeme jej. V kopii kostýmu dokreslíme kočičákovi vousy:

Kostým z vousy - Scratch

První kostým přejmenujeme na kocicak_bez_vousu a nový kostým pojmenujeme kocicak_s_vousy.

Dále přejdeme na kostýmy psa a přetočíme je horizontálně, aby na všech koukal doleva:

Kostýmy psa otočené - Scratch

Kostýmy přejmenujeme na pes_stoji, pes_jde a pes_zira:

Kostýmy psa přejmenované - Scratch

Kód psa

A začneme programovat 🙂 Vybereme si postavu psa, protože prvně budeme psát kód pro něj. Začneme startovním blokem, na který nalepíme blok skoč na z bloků Pohyb. Osu X v něm nastavíme na hodnotu 286 a posuneme tak psa co nejvíce k pravému okraji obrazovky:

Kód psa – startovní blok a posunutí ke kraji - Scratch

Potom přejdeme do bloků Ovládání a přidáme cyklus opakuj dokud nenastane. V podmínce nastavíme, aby se pes zastavil, když bude vzdálený od kočičáka méně než 130:

Kód psa – cyklus - Scratch

Cyklus se tedy bude opakovat, dokud pes nebude u kočičáka dost blízko. Zvolili jsme blok menší než, protože u bloku rovná se je velké riziko, že se pes netrefí přesně do vzdálenosti 130. V takovém případě by pokračoval v chůzi, i když by byl už moc blízko.

Do cyklu umístíme blok změň x o s hodnotou -20. Z bloků Vzhled na něj nalepíme blok změň kostým na s hodnotou pes_jde. Z Ovládání přidáme blok čekej sekund s hodnotou 0.2. Pak znovu přidáme změň kostým na, tentokrát s pes_stoji, a za něj další blok čekej sekund s hodnotou 0.2:

Kód psa – dokončení pohybu - Scratch

Když program spustíme, pes dojde ke kočičákovi a potom se zastaví:

Pes jde ke kočičákovi - Scratch
Komunikace postav

Pes nám hezky přišel ke kočičákovi a ten by si s ním rád promluvil. Abychom mu dali vědět, že je pes nablízku, využijeme vysílání zpráv.

Vysílání zpráv jsme si ukazovali v lekci Podmínky (větvení) podruhé: Vysílání zpráv ve Scratchi. Tam jsme je používali hlavně ke zpřehlednění kódu, jejich skutečný potenciál si ukážeme až teď 😉

Za cyklus tedy přidáme blok vyšli zprávu s hodnotou pesUKocicaka:

Kód psa – vysílání zprávy - Scratch

Dále psovi přidáme oddělený blok po obdržení zprávy s hodnotou kocicakPozdravil a za něj nalepíme tři bubliny sekund s texty Ahoj!, Já jsem Hafan. a A jsem starší, takže mi budeš vykat!. Na konec přilepíme blok vyšli zprávu s hodnotou pesOdpovedel:

Kód psa – odpověď - Scratch

Jako další samostatný kód pro psa přidáme blok po obdržení zprávy s hodnotou kocicakSePromenil. Za něj nalepíme změň kostým na s hodnotou pes_zira. Pak přidáme blok čekej 1 sekund. Potom nalepíme blok změň kostým na pes_stoji a bublinu sekund s textem Omlouvám se pane Kočičáku. Opravdu jste starší.:

Kód psa – reakce na proměnu - Scratch

Kód kočičáka

Přejdeme do kódu kočičáka, přidáme mu startovní blok a pod ním mu nastavíme výchozí kostým kocicak_bez_vousu:

Kód kočičáka – kočičák bez vousů - Scratch

Poté vytvoříme další samostatnou část s blokem po obdržení zprávy a hodnotou pesUKocicaka. Za něj nalepíme dvě bubliny sekund s texty Ahoj! a Já jsem Kočičák a ty? a na konec přidáme blok vyšli zprávu kocicakPozdravil:

Kód kočičáka – kočičák pozdravil - Scratch

V další části přidáme blok po obdržení zprávy pesOdpovedel, za který nalepíme dvě bubliny sekund s hodnotami To si nemyslím... a Čáry máry fuk, ať mám vousy jako velký kluk.. Za ně nalepíme blok změň kostým na kocicak_s_vousy a na konec nalepíme blok vyšli zprávu kocicakSePromenil:

Kód kočičáka – kočičák se proměnil - Scratch
Kódy obou postav vypadají nakonec takto:
  • Celý kód kočičáka - Scratch
  • Celý kód psa - Scratch

A celý program po spuštění vypadá takto:

Program kočičák potká psa - Scratch

V následujícím cvičení, Řešené úlohy k 15.-17. lekci Scratche, si procvičíme nabyté zkušenosti z předchozích lekcí.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 7x (163.31 kB)
Aplikace je včetně zdrojových kódů v jazyce Scratch

 

Předchozí článek
Kvíz - Zvuky, scéna a kostýmy ve Scratchi
Všechny články v sekci
Scratch
Přeskočit článek
(nedoporučujeme)
Řešené úlohy k 15.-17. lekci Scratche
Článek pro vás napsal PDoctor
Avatar
Uživatelské hodnocení:
3 hlasů
Aktivity