NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Lekce 21 - Rozšíření ve Scratchi podruhé

V předchozím kvízu, Kvíz - Práce s postavami a bloky rozšíření ve Scratchi, jsme si ověřili nabyté zkušenosti z předchozích lekcí.

V dnešním tutoriálu si představíme další rozšíření pro tvorbu aplikací ve Scratchi. Popíšeme si bloky pro práci s videem, čtení a překládání textu a bloky rozšíření Makey Makey. Rozšíření pro práci s textem si poté vyzkoušíme na praktickém příkladu, v němž uděláme z kočičáka překladatele.

Vnímání videa

Rozšíření pro práci s videem nám bude fungovat, jen pokud máme k počítači připojenou webkameru. Potom díky němu můžeme reagovat na pohyb před kamerou a pracovat s ním. Když si rozšíření přidáme do projektu, prohlížeč se nás nejdříve zeptá, zda chceme povolit přístup k webkameře. Ten povolit musíme, protože bez přístupu ke kameře bude rozšíření stejně bezradné, jako bychom žádnou kameru neměli:

Žádost o přístup ke kameře - Scratch

Pojďme si teď představit bloky, které nám rozšíření nabízí.

Blok při pohybu na videu >

Pomocí tohoto bloku detekujeme pohyb na videu:

Blok detekující pohyb na videu - Scratch

Rozpoznání pohybu funguje tak, že se porovnávají jednotlivé snímky videa. Ty se pořizují velmi rychle za sebou a rozdíl mezi nimi je vyjádřen číslem. Pokud například na videu jen trochu pohneme tužkou, bude rozdíl vyjádřen hodnotou 20. Když pak před kamerou budeme rychle mávat rukou, bude rozdíl dosahovat i maximální hodnoty, což je 100 🙂

V bloku nastavujeme hodnotu pohybu. Pokud je aktuální rychlost pohybu větší než námi zadaná hodnota, spustí se bloky, které za tento blok přidáme.

Blok video pohyb/směr na postava/scéna

Tento blok vrací hodnotu pohybu nebo směru na postavě a scéně. Pokud v něm nastavíme pohyb a postava, detekce bude probíhat jenom v místech, kde je postava. Když naopak zadáme místo hodnoty postava hodnotu scéna, dojde k rozpoznání pohybu na celé scéně.

Když pak změníme první parametr bloku na směr, budeme schopni určit, kterým směrem se objekty hýbou. Záporné hodnoty tu představují pohyb vlevo, kladné hodnoty dostaneme při pohybu vpravo. Opět platí, že čím větší je absolutní hodnota měřeného pohybu, tím je rychlejší:

Blok vracející pohyb a směr podle pohybu a směru - Scratch

Blok zapni / vypni / na převrácené straně video

Dalším blokem měníme stav obrazu z webkamery. Máme v něm možnost kameru vypnout, zapnout nebo nahrávání zrcadlově převrátit:

Blok měnící stav videa - Scratch

Blok nastav průhlednost videa na

Posledním blokem nastavujeme průhlednost videa. Hodnotou 0 zajistíme, že video bude úplně viditelné na pozadí scény. Nastavením hodnoty 100 výstup videokamery na pozadí scény úplně skryjeme:

Blok měnící průhlednost videa - Scratch

Čtení textu

Pomocí rozšíření Text na hlas převedeme psaný text na mluvené slovo.

Blok řekni

Do tohoto bloku zadáváme text, který chceme přečíst nahlas:

Blok pro převod textu na řeč - Scratch

Blok nastav hlas na

Dalším blokem měníme hlas, kterým se bude text číst:

Blok pro nastavení hlasu - Scratch

Na výběr máme z pěti možností:

  • alt – ženský hlas,
  • tenor – mužský hlas,
  • kvik – hlas jako po použití helia,
  • obr – ještě hlubší mužský hlas,
  • kotě – místo čtení textu uslyšíme mňoukání podle zadaného počtu slov 😅

Blok nastav jazyk na

Posledním blokem rozšíření Text na hlas nastavujeme jazyk, kterým se zadaný text přečte:

Blok pro výběr jazyka - Scratch

Mezi dvaceti jazyky bohužel chybí čeština a slovenština. Budeme si tedy muset vystačit se znalostí jiných jazyků, jako je angličtina, němčina, španělština a další. Český text můžeme nechat přečíst jiným jazykem, dosáhneme tak celkem vtipných výsledků. Takový výstup pak působí, jako by měl náš kočičák silný přízvuk 🙂

České texty čte kočičák nejlépe, když má jako jazyk nastavenou polštinu.

Překládání textu

S rozšířením Překlad zvládneme přeložit text do zadaného jazyka. Zde už nechybí ani čeština a slovenština. Přidáním tohoto rozšíření do projektu ve Scratchi budeme mít k dispozici pouze dva bloky.

Blok přelož do

Jediný funkční blok z celého rozšíření je blok přelož do:

Blok pro překlad - Scratch

Do bloku jednoduše zadáme text k přeložení a vybereme některý z jazyků, které máme k dispozici.

Blok jazyk

Druhý blok obsahuje proměnnou, ve které je uložen jazyk, jejž máme nastavený ve vývojovém prostředí Scratche:

Jazyk - Scratch

Jazykové nastavení můžeme upravit kliknutím na ikonu zeměkoule na hlavním panelu a výběrem nového jazyka z nabídky, jak jsme si ukazovali v lekci Popis vývojového prostředí Scratche.

Reakce na stisknutí klávesy

Díky rozšíření Makey Makey lze reagovat na stisk klávesy během spuštěného programu. Rozšíření opět obsahuje pouze dva bloky.

Makey Makey je původně kreativní elektronické zařízení navržené tak, aby spojilo každodenní předměty s klávesami počítače. Pomocí desky plošných spojů, svorek a kabelu USB umožňuje generovat elektrické signály, které pak používá k simulaci stisku klávesy nebo kliknutí myši.

Blok když je stisknuta klávesa

Tento blok detekuje stisknutí klávesy nezávisle na chodu programu:

Blok detekující stisk klávesy - Scratch

Když jsme si v lekci Vnímání ve Scratchi představovali bloky z kategorie Vnímání, byl mezi nimi dostupný blok klávesa stisknuta. Tento blok bylo ovšem možné použít pouze v nějaké podmínce. Pokud jsme tedy chtěli během chodu programu reagovat na stisk klávesy, museli jsme pro něj vytvořit podmínku a vložit ji do cyklu opakuj stále.

Blok když je stisknuta klávesa z rozšíření Makey Makey už má cyklus v sobě, takže kdykoliv stiskneme vybranou klávesu, blok provede zadaný kód. Z kláves máme na výběr mezerník, šipky a pouze šest písmen klávesnice.

Blok když stisknuto postupně

Ještě více nám práci usnadní tento druhý blok. Díky němu budeme schopni reagovat nejen na stisk klávesy, který může přijít kdykoliv, ale na vybrané posloupnosti stisku kláves. V nabídce obsahuje různé kombinace stisku šipek. Kód přidaný k tomuto bloku se tedy provede například pouze v případě, že za sebou stiskneme šipku nahoru, vpravo, dolů, vlevo a tak dále. Nevýhodou je, že nelze přidávat vlastní posloupnosti a kombinace jsou omezeny jenom na směrové šipky:

Blok detekující stisk posloupnosti šipek - Scratch

Kocour překladatel

Protože ne každý má webkameru a bloky z rozšíření Makey Makey jsou vhodné spíše na tvorbu her, pojďme si vyzkoušet využití bloků z rozšíření Text na hlas a Překlad. Z našeho kočičáka si tedy uděláme překladatele 🙂

Přeložení zadaného textu

Nejprve vezmeme startovní blok a umístíme za něj cyklus opakuj stále:

Začátek překladatelského programu - Scratch

Vytvoříme si také tři proměnné – JAZYK, TEXT a VYSLEDEK. Do cyklu umístíme dvě otázky a dva bloky nastav na tak, aby se střídaly. Do bloků pro otázky napíšeme text Do jakého jazyka chceš přeložit? a Co chceš přeložit?. Bloky nastavující proměnnou budou nastavovat proměnnou JAZYK a potom TEXT vždy na hodnotu odpověď:

Otázky v překladatelském programu - Scratch

Vezmeme blok přelož do a vložíme do něj proměnné TEXT a JAZYK (v tomto pořadí). Tento celý blok vložíme do bloku nastav na, který bude nastavovat proměnnou VYSLEDEK. Celý blok přidáme za stávající bloky v cyklu:

Překlad v programu - Scratch

Dále doplníme blok bublina sekund s proměnnou VYSLEDEK. Takto zajistíme, že se nám vypíše přeložený text:

Bublina s překladem - Scratch

Přečtení přeloženého textu

Potom vezmeme blok nebo a na obě strany přidáme bloky rovná se. V obou blocích doplníme nalevo proměnnou JAZYK a napravo napíšeme čeština a slovenština. Celý blok dáme do bloku když tak a do těla podmínky vložíme blok nastav jazyk na s hodnotou Polština. Celou podmínku přidáme za stávající bloky do cyklu. Za podmínku ještě umístíme blok řekni s hodnotou VYSLEDEK:

Nastavení jazyka a dokončení programu - Scratch

Když program spustíme, kočičák opravdu překládá text do námi vybraného jazyka a přeložený text nám také přečte. Pokud ve spuštěné ukázce zadáme jako jazyk češtinu nebo slovenštinu, přečte přeložený text polsky. Kdybychom zadali neexistující jazyk, přeloží zadaný text do angličtiny:

Kočičák překládá text - Scratch

Celý program je opět ke stažení v archivu lekce.

V následujícím cvičení, Řešené úlohy k 20.-21. 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 (42.6 kB)
Aplikace je včetně zdrojových kódů v jazyce Scratch

 

Předchozí článek
Kvíz - Práce s postavami a bloky rozšíření ve Scratchi
Všechny články v sekci
Scratch
Přeskočit článek
(nedoporučujeme)
Řešené úlohy k 20.-21. lekci Scratche
Článek pro vás napsal PDoctor
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Aktivity