21. diel - Rozšírenie v Scratchi druhýkrát
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:
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:
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 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 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:
Čí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 nastav hlas na
Ďalším blokom meníme hlas, ktorým sa bude text čítať:
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 😅
Posledným blokom rozšírenia Text na hlas nastavujeme jazyk, ktorým sa zadaný text prečíta:
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:
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:
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:
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:
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:
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ěď
:
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:
Ďalej doplníme blok bublina sekúnd s premennou
VYSLEDEK
. Takto zaistíme, že sa nám vypíše preložený
text:
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
:
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:
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é 6x (42.6 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Scratch