Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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:

Bloky zaznamenávajúce dotyk - Scratch - Scratch

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.
Majme napríklad postavu nášho mačičiaka a jablko. Prvý blok by splnil podmienku hneď pri dotyku mačičiaka a jablka. Druhý blok, nastavený na zelenú farbu, by pri dotyku s červeným jablkom nič neurobil. Podmienka by bola splnená, až keby sme sa dotkli napríklad zeleného listu jablka. Posledným blokom môžeme napríklad zistiť, či sa zelený list dotýka červeného jablka. Pokiaľ ho mačičák odtrhne, podmienka už platiť nebude.

Blok vzdialenosť k

Ďalší blok uchováva hodnotu vzdialenosti k ukazovateľu myši, alebo inému objektu v pixeloch:

Blok vzdialenosť k - Scratch - Scratch

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 otázka a odpoveď - Scratch - Scratch

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 kláves/myš stlačený - Scratch - Scratch

Bloky x/y myši

Bloky x myši a y myši uchovávajú pozíciu kurzora myši na scéne:

Bloky x/y myší - Scratch - Scratch

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:

Blok povolené presúvať - Scratch - Scratch

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:

Blok hlasitosť - Scratch - Scratch

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:

Bloky stopky a vynuluj stopky - Scratch - Scratch

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:

Blok informácie z objektu - Scratch - Scratch

Bloky aktuálny dátum a dní od roku 2000

Ako asi tušíme, slúžia tieto bloky pre prácu s dátami:

Bloky na prácu s dátumom - Scratch - Scratch

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:

Blok meno používateľa - Scratch - Scratch

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ěď:

Nastavenie veľkosti mačičiaka - Scratch - Scratch

Ď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:

Začiatok hry na schovávačku - Scratch - Scratch

Potom pridáme blok skry sa a blok skoč na, ktorý nastavíme na hodnotu náhodná pozice:

Mačičák sa schoval - Scratch - Scratch

Potom použijeme cyklus opakuj stále av ňom podmienku keď myš stlačená? tak:

Cyklus reagujúci na stlačenie myši - Scratch - Scratch

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!:

Mačičiaka sme našli - Scratch - Scratch

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:

Príprava podmienok pre pomoc  - Scratch - Scratch

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:

Určenie vzdialenosti mačičiaka od myši - Scratch - Scratch

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í.:

Nastavenie pomocníka podľa vzdialenosti - Scratch - Scratch

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:

Dokončenie programu na schovávačku - Scratch - Scratch

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:

Mačičák hrá na schovávačku - Scratch - Scratch

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

 

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