Události – Events

První skupinou programových bloků o které si něco povíme jsou bloky, které jsou ve žluté skupině pod názvem „Události„, nebo pokud pracujete v angličtině tak „Events“. Tyto bloky jsou naprogramované tak, že reagují na nějakou událost, situaci, která se vám jako uživateli stane v programu, který máte ve svém počítači.

Bloky událostí

Tyto bloky jsou umístěné vždy na začátku kódu (chybí jim na horním okraji takový ten zářez, aby mohl zapadnout do bloku před ním). Bloky událostí jednoduše fungují tak, že se spustí příkazy, které jsou na tomto bloku připnuté, pokud je ovšem splněna úvodní podmínka – událost.

V případě bloku se zelenou vlaječkou, jak jste jistě bystře poznali se jedná o blok, který je aktivovaný prostým spuštěním programu. Dosti často se tento blok používá k nastavení základního prostředí ve vašem programu/hře. Typicky můžete k tomuto bloku nastavit, že při spuštění se například objekt kocour bude nacházet na určitých souřadnicích a bude viditelný, zatímco jiný blok bude zase na jiných souřadnicích a hlavně bude neviditelný (časem se ve hře třeba ukáže).

Žlutý bloček s roletkou umožňující nastavení klávesy vám umožňuje naprogramovat reakce programu na stisk klávesy na počítači. je tam například i možnost reakce na stisk jakékoliv klávesy. Typicky je tato událost používána při ovládání pohybu objektů, jak si povíme až si budeme povídat o skupině příkazů pro pohyb.

Bloček „po kliknutí na mě“ je aktivovaný v momentě, kdy kliknete na objekt, ke kterému je přidružen. V tomto případě slovo přidružen je myšleno tak, že musí být ve scénáři daného objektu/postavy. V hrách, které se jistě chystáte programovat nalezne tato událost široké využití. Například navázání akce na stisk obrázku tlačítka, nebo volby v menu, nebo přímo akce v menu – například sběr předmětů atp..

Následující dva bločky umožňují reakci na změnu pozadí (postava cestuje po mapách a pokaždé vypadá jinak), nebo události aktivované časem, či změnou hlasitosti.

A my si samozřejmě vše hned vyzkoušíme, protože o tom to celé vlastně je…

Program s událostmi

Následující jednoduchý prográmek můžete nalézt ve scratchi zde. Není to nic světoborného, prostě jsem jen vymýšlel něco hodně jednoduchého u čeho by se daly použít příkazy událostí. Samotný program (který si samozřejmě můžete shlédnout a upravit ve svém scratchi) vypadá takto:

Události

Použil jsem tři různé události – objekt/postava kocoura může reagovat na tři různé aktivity uživatele. Pokaždé, když je událost aktivní se kocour přemístí na náhodné místo na obrazovce. Myslím, že použití příklad je tak jednoduchý, že to nemá cenu dál „opovídávat“. Vyzkoušet si vše můžete i přímo na ondranauci.cz.

Program demonstrující reakce na tři různé události

Jiný typ události – zprávy

Zprávy jsou krátké řetězce (písmenka, nebo slova), která si mohou objekty/postavy posílat mezi sebou. Ony to tedy spíše pošlou všeobecně do prostoru (odborně se tomuto systému říká v IT broadcast) a všechny objekty zároveň napjatě poslouchají jestli se něco, nějaká zpráva, v prostoru neobjeví. Pokud se nějaká zpráva objeví, každý si zkontroluje svůj scénář, jestli tam na tuto zprávu nemá naprogramovanou nějakou činnost. Jestliže nějaký program najde, tak ho provede. jestliže žádný nenajde, neudělá nic. To je tak v kostce celý systém. Pokud jste ve svém programu žádné zprávy ještě nepoužili, nebo pokud třeba začínáte s programem úplně od začátku, objeví se vám bloky pro programování zpráv v následující podobě.

Bloky pro práci se zprávami

První blok (ten uvozovací s ouškem nahoře) je blok, kterým můžete spustit nějakou reakci, pokud dorazí očekávaná zpráva. Další dva bloky umí zprávu vyslat. Zpráva nemusí být pouze text „zpráva1“, to je tam jen tak přednastaveno na začátku. Pokud vstoupíte do parametru zprávy, objeví se vám tam možnost „Nová zpráva„, která vám umožní nadefinovat si svou vlastní úplně novou zprávu. Nově nadefinovaná zpráva se pak zobrazí jako možnost i u ostatních bloků.

Program se zprávami

Následující prográmek je vlastně demonstrací toho, jak je možné se zprávami zacházet. Protože ještě neznáte jiné bloky, i když si myslím, že když si je přečtete, tak poměrně snadno pochopíte co asi dělají, tak si všímejte pouze žlutých bločků, které vysílají a přijímají zprávy a já mezitím popíšu celý program.

Program „Jak fungují zprávy

Pro následující program se můžete kouknout do scratche zde, pokud chcete kód programu vidět lépe. Program jsem vám ještě navíc okomentoval (to je to povídání u příkazů ve žlutých roletkách. Naleznete tam krátký komentář co přesně by měl daný blok, nebo část programu dělat. Celý program je vlastně o interakci mezi uživatelem a semaforem. Uživatel může se semaforem komunikovat stiskem kláves g a s. Stisk obou kláves vysílá do prostoru zprávu „go“, nebo „stop“ a semafor na tyto zprávy reaguje a umožňuje tak kocourovi bezpečně přecházet ulici (v New Yorku je ten provoz hodně hustý, to víte…).

Rád bych vás na něco upozornil, když už si, doufám, prohlížíte můj kód. Použil jsem v programu pět postav a jedno pozadí. Pozadí nemá naprogramovaný žádný scénář, ale jednotlivé postavy mají naprogramované každá něco jiného. Nemůže například svítit na semaforu zároveň zelené a červené světlo atp.. Mrkněte se do každé postavy zvlášť a pak se vám teprve objeví celý obrázek.

Program „Jak fungují zprávy“

Úkoly:

1, Prohlédni si program „Jak na zprávy“ a zkus vlastními slovy popsat co dělá každá postava v programu.

2, Zkus program změnit, aby kocour přecházel na červenou.

3, Vytvoř si vlastní semafor, který se rozsvítí, když se vyšle nějaká zpráva.

2 komentáře u „Události – Events

  1. Pingback: Pohyb – Motion – ondranauci.cz

  2. Pingback: Editor Scratche – 2 (programovací rozhraní) – ondranauci.cz

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *