Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.

21. diel - Rozšírenie v Scratchi druhýkrát Nové

V minulej lekcii, Rozšírenie v Scratchi , sme si predstavili kartu Rozšírenia, ktorú pridáme do Scratche skupiny ďalších blokov. Zamerali sme sa potom na rozšírenie Hudba a Pero.

V dnešnom tutoriále si predstavíme ďalšie rozšírenie pre tvorbu aplikácií v Scratchi. Popíšeme si bloky pre prácu s videom, čítanie a prekladanie textu a bloky rozšírenia Makey Makey. Rozšírenie pre prácu s textom si potom vyskúšame na praktickom príklade, v ktorom urobíme z mačičiaka prekladateľa.

Vnímanie videa

Rozšírenie pre prácu s videom nám bude fungovať, len ak máme k počítaču pripojenú webkameru. Potom vďaka nemu môžeme reagovať na pohyb pred kamerou a pracovať s ním. Keď si rozšírenie pridáme do projektu, prehliadač sa nás najskôr spýta, či chceme povoliť prístup k webkamere. Ten povoliť musíme, pretože bez prístupu ku kamere bude rozšírenie rovnako bezradné, ako by sme žiadnu kameru nemali:

Žiadosť o prístup ku kamere - Scratch - Scratch

Poďme si teraz predstaviť bloky, ktoré nám rozšírenie ponúka.

Blok pri pohybe na videu >

Pomocou tohto bloku detekujeme pohyb na videu:

Blok detekujúci pohyb na videu - Scratch - Scratch

Rozpoznanie pohybu funguje tak, že sa porovnávajú jednotlivé snímky videa, ktoré sa zhotovujú veľmi rýchlo za sebou a rozdiel na nich je vyjadrený číslom. Pokiaľ napríklad na videu pohneme len trochu ceruzkou, bude rozdiel vyjadrený hodnotou 20. Keď potom pred kamerou budeme rýchlo mávať rukou, bude rozdiel dosahovať aj maximálnu hodnotu, čo je 100 🙂

V bloku nastavujeme hodnotu pohybu. Pokiaľ je aktuálna rýchlosť pohybu väčšia, než nami zadaná hodnota, spustia sa bloky, ktoré za tento blok pridáme.

Blok video pohyb/smer na postava/scéna

Tento blok vracia hodnotu pohybu alebo smeru na postave a scéne. Pokiaľ v ňom nastavíme pohyb a postava, detekcia bude prebiehať iba v miestach, kde je postava. Keď naopak zadáme namiesto hodnoty postava hodnotu scéna, dôjde k rozpoznaniu pohybu na celej scéne.

Keď potom zmeníme prvý parameter bloku na směr, budeme schopní určiť, ktorým smerom sa objekty hýbu. Záporné hodnoty tu predstavujú pohyb vľavo, kladné hodnoty dostaneme pri pohybe vpravo. Opäť platí, že čím väčšia je absolútna hodnota meraného pohybu, tým rýchlejšia je:

Blok vracajúci pohyb a smer podľa pohybu a smeru - Scratch - Scratch

Blok zapni/vypni/na prevrátenej strane video

Ďalším blokom meníme stav obrazu z webkamery. Máme v ňom možnosť kameru vypnúť, zapnúť alebo nahrávanie zrkadlovo prevrátiť:

Blok meniaci stav videa - Scratch - Scratch

Blok nastav priehľadnosť videa na

Posledným blokom nastavujeme priehľadnosť videa. Hodnotou 0 zaistíme, že bude video úplne viditeľné na pozadí scény. Nastavením hodnoty 100 výstup videokamery na pozadí scény úplne skryjeme:

Blok meniaci priehľadnosť videa - Scratch - Scratch

Čítanie textu

Pomocou rozšírenia Text na hlas prevedieme písaný text na hovorené slovo.

Blok povedz

Do tohto bloku zadávame text, ktorý chceme prečítať nahlas:

Blok na prevod textu na reč - Scratch - Scratch

Blok nastav hlas na

Ďalším blokom meníme hlas, ktorým sa bude text čítať:

Blok na nastavenie hlasu - Scratch - Scratch

Na výber máme z piatich možností:

  • alt – ženský hlas,
  • tenor – mužský hlas,
  • kvik – hlas ako po použití hélia,
  • obor – ešte hlbší mužský hlas,
  • mačiatko – namiesto čítania textu počujeme mňaukanie podľa zadaného počtu slov 😅
Blok nastav jazyk na

Posledným blokom rozšírenia Text na hlas nastavujeme jazyk, ktorým sa zadaný text prečíta:

Blok na výber jazyka - Scratch - Scratch

Medzi dvadsiatimi jazykmi bohužiaľ chýba čeština a slovenčina. Budeme si teda musieť vystačiť so znalosťou iných jazykov, ako je angličtina, nemčina, španielčina a ďalšie. Český text môžeme nechať prečítať iným jazykom, dosiahneme tak celkom vtipné výsledky. Taký výstup potom pôsobí, ako by mal náš mačičák silný prízvuk 🙂

České texty číta mačičák najlepšie, keď má ako jazyk nastavenú poľštinu.

Prekladanie textu

S rozšírením Preklad zvládneme preložiť text do zadaného jazyka. Tu už nechýba ani čeština a slovenčina. Pridaním tohto rozšírenia do projektu v Scratchi budeme mať k dispozícii iba dva bloky.

Blok prelož do

Jediný funkčný blok z celého rozšírenia je blok prelož do:

Blok na preklad - Scratch - Scratch

Do bloku jednoducho zadáme text na preloženie a vyberieme niektorý z jazykov, ktoré máme k dispozícii.

Blok jazyk

Druhý blok obsahuje premennú, v ktorej je uložený jazyk, ktorý máme nastavený vo vývojovom prostredí Scratche:

Jazyk - Scratch - Scratch

Jazykové nastavenie môžeme upraviť kliknutím na ikonu zemegule na paneli úloh a výberom nového jazyka z ponuky, ako sme si ukazovali v lekcii Popis vývojového prostredia Scratche.

Reakcia na stlačenie klávesy

Vďaka rozšíreniu Makey Makey je možné reagovať na stlačenie klávesy počas spusteného programu. Rozšírenie opäť obsahuje iba dva bloky.

Makey Makey je pôvodne kreatívne elektronické zariadenie navrhnuté tak, aby spojilo každodenné predmety s klávesmi počítača. Pomocou dosky plošných spojov, svoriek a kábla USB umožňuje generovať elektrické signály, ktoré potom používa na simuláciu stlačenia klávesy alebo kliknutia myši.

Blok keď je stlačená klávesa

Tento blok detekuje stlačenie klávesu nezávisle na chode programu:

Blok detekujúci stlačenie klávesu  - Scratch - Scratch

Keď sme si v lekcii Vnímania v Scratchi predstavovali bloky z kategórie Vnímanie, bol medzi nimi dostupný blok kláves stlačený. Tento blok však bolo možné použiť iba v nejakej podmienke. Ak sme teda chceli počas chodu programu reagovať na stlačenie klávesy, museli sme pre neho vytvoriť podmienku a vložiť ju do cyklu opakuj stále.

Blok keď je stlačený kláves z rozšírenia Makey Makey už má cyklus v sebe, takže kedykoľvek stlačíme vybraný kláves, vykoná zadaný kód. Z klávesov máme na výber medzerník, šípky a iba šesť písmen klávesnice.

Blok keď stlačené postupne

Ešte viac nám prácu uľahčí tento druhý blok. Vďaka nemu budeme schopní reagovať nielen na stlačenie klávesy, ktorý môže prísť kedykoľvek, ale na vybrané postupnosti stlačenia klávesov. V ponuke obsahuje rôzne kombinácie stlačenia šípok. Kód pridaný k tomuto bloku sa teda vykoná napríklad iba v prípade, že za sebou stlačíme šípku hore, vpravo, dole, vľavo a tak ďalej. Nevýhodou je, že nie je možné pridávať vlastné postupnosti a kombinácie sú obmedzené iba na smerové šípky:

Blok detekujúci stlačenie postupnosti šípok - Scratch - Scratch

Kocúr prekladateľ

Pretože nie každý má webkameru a bloky z rozšírenia Makey Makey sú vhodné skôr na tvorbu hier, poďme si vyskúšať využitie blokov z rozšírenia Text na hlas a Preklad. Urobíme si teda z nášho mačičiaka prekladateľa 🙂

Preloženie zadaného textu

Najprv vezmeme štartovný blok a umiestnime zaň cyklus opakuj stále:

Začiatok prekladateľského programu - Scratch - Scratch

Vytvoríme si tiež tri premenné – JAZYK, TEXT a VYSLEDEK. Do cyklu umiestnime dve otázky a dva bloky nastavte na, tak aby sa striedali. Do blokov pre otázky napíšeme text Do jakého jazyka chceš přeložit? a Co chceš přeložit?. Bloky nastavujúce premennú budú nastavovať najprv premennú JAZYK, potom TEXT vždy na hodnotu odpověď:

Otázky v prekladateľskom programe - Scratch - Scratch

Vezmeme blok prelož do a vložíme do neho premenné TEXT a JAZYK (v tomto poradí). Tento celý blok vložíme do bloku nastav na, ktorý bude nastavovať premennú VYSLEDEK. Celý blok pridáme za existujúce bloky v cykle:

Preklad v programe  - Scratch - Scratch

Ďalej doplníme blok bublina sekúnd s premennou VYSLEDEK. Takto zaistíme, že sa nám vypíše preložený text:

Bublina s prekladom - Scratch - Scratch

Prečítanie preloženého textu

Potom vezmeme blok alebo a na obe strany pridáme bloky rovná sa. V oboch blokoch doplníme naľavo premennú JAZYK a napravo napíšeme čeština a slovenština. Celý blok dáme do bloku keď tak a do tela podmienky vložíme blok nastav jazyk s hodnotou Polština. Celú podmienku pridáme za existujúce bloky do cyklu. Za podmienku ešte umiestnime blok povedz s hodnotou VYSLEDEK:

Nastavenie jazyka a dokončenie programu - Scratch - Scratch

Keď program spustíme, mačičák skutočne prekladá text do nami vybraného jazyka a preložený text nám tiež prečíta. Pokiaľ v spustenej ukážke zadáme ako jazyk slovenčinu alebo slovenčinu, prečíta preložený text po poľsky. Keby sme zadali neexistujúci jazyk, preloží zadaný text do angličtiny:

Mačičák prekladá text - Scratch - Scratch

Celý program je opäť na stiahnutie v archíve lekcie.

V nasledujúcom kvíze, Kvíz - Programovanie v Scratchi, si vyskúšame nadobudnuté skúsenosti z kurzu.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 4x (42.6 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Scratch

 

Predchádzajúci článok
Rozšírenie v Scratchi
Všetky články v sekcii
Scratch
Preskočiť článok
(neodporúčame)
Kvíz - Programovanie v Scratchi
Článok pre vás napísal PDoctor
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity