19. diel - Vnímanie v Scratchi
V minulej lekcii, Pohyb v Scratchi , sme si popísali bloky pre pohyb, ktoré Scratch ponúka. Niektoré z nich sme si potom vyskúšali pri tvorbe programu, v ktorom sme s mačičákom hrali na babu.
V dnešnom Scratch tutoriále si bližšie popíšeme bloky z kategórie Vnímanie. Vysvetlíme si, na čo jednotlivé možnosti slúžia. Niektoré z nich potom využijeme pri tvorbe programu, v ktorom si zahráme s mačičákom na schovávačku.
Bloky Vnímanie
V predchádzajúcich lekciách sme občas niektoré bloky z kategórie Vnímanie využili. Dobre poznáme predovšetkým bloky otázka a odpoveď. Pretože by bola škoda sa nedozvedieť aj o ostatných, poďme si ich teda teraz tiež predstaviť.
Bloky dotýkaš sa
Ako prvé tu máme bloky umožňujúce zistiť, či sa niečím dotýkame niečoho iného:
Podľa ich tvaru už spoznáme, že sa všetky používajú v podmienkach. V ponuke máme tri druhy týchto blokov:
- dotýkaš sa – Vďaka tomuto bloku zistíme, či sa postava dotýka ukazovateľa myši, okraja obrazovky alebo inej postavy.
- dotýkaš sa farby – Druhým blokom overíme, či sa postava dotýka určitej farby.
- farbou sa dotýkaš – Tretí blok porovnáva, či sa určitá farba dotýka nejakej ďalšej farby.
Blok vzdialenosť k
Ďalší blok uchováva hodnotu vzdialenosti k ukazovateľu myši, alebo inému objektu v pixeloch:
Bloky otázka a odpoveď
Nasledujúce bloky už dobre poznáme. Pomocou bloku otázka vyvoláme otázku, na ktorú používateľ odpovie. Blok odpoveď potom nesie to, čo používateľ napísal:
Bloky kláves/myš stlačený
V bloku kláves stlačený nastavíme určitý kláves a reagujeme potom na jeho stlačenie. Ak potrebuje overiť, či je stlačená myš, použijeme druhý blok:
Bloky x/y myši
Bloky x myši a y myši uchovávajú pozíciu kurzora myši na scéne:
Blok povolené presúvať
Tento blok je trochu problematický, pretože jeho účinok hneď nepoznáme. Určujeme v ňom, či môže užívateľ postavu alebo objekt na scéne myšou chytiť a presunúť inam:
Keď program vyvíjame, tak je táto funkcia povolená vždy. Ak ju teda chceme otestovať, musíme program publikovať a spustiť ho mimo vývojového režimu.
Blok hlasitosť
Blok uchováva informáciu o hlasitosti okolia. Ak ho chceme
použiť, najprv musíme Scratchi povoliť prístup k
mikrofónu. Blok potom nesie hodnotu od 1
do
100
, podľa toho, ako hlasné naše okolie je:
Bloky stopky/vynuluj stopky
Blokom stopky zobrazíme počet sekúnd od spustenia
programu. Blok vynuluj stopky túto hodnotu potom vráti na
0
a odpočet beží znova:
Blok informácie z objektu
Tento blok využijeme až v zložitejších programoch. Umožní nám získať informáciu o inom objekte alebo o inej scéne:
Bloky aktuálny dátum a dní od roku 2000
Ako asi tušíme, slúžia tieto bloky pre prácu s dátami:
Prvým blokom získame aktuálny rok, mesiac, deň, hodinu a ďalšie. Druhý
blok vráti počet dní od roku 2000. Túto hodnotu vracia v podobe
desatinného čísla. Započítavajú sa sem aj hodiny,
minúty, sekundy a milisekundy. Nie je teda výnimkou, keď sa dozvieme, že od
roku 2000 uplynulo už 8778.414251898148
dní 🙂
Blok meno užívateľa
Posledný blok z kategórie Vnímanie vráti meno aktuálne prihláseného užívateľa:
Hra na schovávačku
Poďme si teraz niektoré z uvedených blokov vyskúšať. V lekcii Pohyb v Scratchi sme s mačičákom hrali na babu, dnes sa zahráme na schovávačku. Mačičiaka budeme hľadať klikaním myšou na "prázdnu" obrazovku. V rohu obrazovky sa nám bude ukazovať nápoveda. Pretože je mačičák na pomery obrazovky celkom veľký, tak sa nás na začiatku zdvorilo spýta, o koľko sa má zmenšiť 😉
Začneme klasicky štartovným blokom. Za ten nalepíme bublinu
sekúnd s textom Pojďme si zahrát na schovávanou.
a
pridáme blok otázka s textom
Jak velký mám být? Čím větší budu, tím lehčí bude mě najít :-)
.
Na konci bude blok nastav veľkosť na s hodnotou
odpověď
:
Ďalej vezmeme blok spoj a spojíme text
Dobře, budu velký
(s medzerou na konci) a blok
veľkosť. To celé dáme do ďalšieho bloku spoj s textom
%, pojďme hrát!
(s medzerou na začiatku) a všetko dáme do
bubliny sekúnd, ktorú nalepíme za náš program:
Potom pridáme blok skry sa a blok skoč na, ktorý
nastavíme na hodnotu náhodná pozice
:
Potom použijeme cyklus opakuj stále av ňom podmienku keď myš stlačená? tak:
Do podmienky vložíme podmienku keď tak inak a budeme v nej
zisťovať, či je vzdialenosť k ukazovateľovi myši < 20. Ďalej
si vytvoríme premennú Nápověda
. Vo vetve tak
nastavíme premennú Nápověda
na hodnotou Hoří!
,
pridáme bloky ukáž sa a bublina sekúnd s textom
Gratuluji, vyhrál jsi!
:
Vo vetve inak do seba vnoríme ďalšie tri bloky keď tak inak, vždy do vetvy inak v predchádzajúcom bloku a do poslednej vetvy inak umiestnime blok keď tak:
Teraz si pripravíme tri bloky väčšie ako a jeden blok
menší ako. Na ľavej strane všetkých týchto blokov umiestnime blok
vzdialenosť k ukazovateľu myši. Na pravej strany postupne napíšeme
hodnoty 400
, 300
, 100
a
101
:
Všimnime si, že predposledný blok má hodnotu
väčšiu ako 100
, takže platí od hodnoty
101
a viac. Posledný blok má teda hodnotu menšiu
ako 101
, takže platí od hodnoty 100
a menej
😉
Bloky postupne doplníme do pripravených podmienok v programe a každé
pridáme aj blok pre nastavenie pomocníka na hodnoty Samá voda!
,
Malý plamínek.
, Přihořívá...
a
Už to pálí.
:
Medzi štartovný blok a prvú bublinu doplníme bloky ukáž sa,
nastav veľkosť na s hodnotou 100
, skoč na x:
y: s hodnotami 0
a nastav ... na, kde bude mať
premenná Nápověda
prázdnu hodnotu:
Nakoniec ešte zaškrtneme políčko pred premennou Nápověda
,
aby sa nám zobrazovala v okne programu. Keď teraz program spustíme,
mačičák s nami hrá na schovávačku:
Zdrojový kód je ako vždy na stiahnutie pod článkom 🙂
V budúcej lekcii, Rozšírenie v Scratchi , si predstavíme bloky z kategórie Rozšírenie. Vysvetlíme si, na čo niektoré rozšírenia slúžia a vyskúšame si prácu s blokmi rozšírenia Hudba a Pero.
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é 7x (45.1 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Scratch