Lekce – základy práce s myší
|V této lekci se naučíme základy práce s myší. Také vyzkoušíme pár jednoduchých efektů s barvami a kreslením.
Co budeme dělat?
Na tomto projektu si budeme ukazovat možnosti práce s myší ve Scratchi. Tentokrát se bude jednat o jednoduchou hříčku s barvami. Výsledek by měl vypadat takto.
Hvězdička běhá za myší a kreslí za sebou barevnou duhovou stopu. Po kliknutí na tlačítko se vše smaže a začínáme od začátku.
Umístění postavy na pozici myši
Založíme nový projekt a přidáme si do něj postavu, třeba žlutou hvězdičku. Nyní budeme chtít, aby se nám hvězdička pohybovala stejně, jako se pohybuje kurzor myši. K tomu slouží jednoduchý skript.
Skript využívá nového příkazu JDI NA – , kde jako parametr uvedeme Ukazatel myši. Když skript spustíme, hvězdička se v každém kroku přesune na místo, kde je právě ukazatel myši. Budeme mít pocit, že je s ukazatelem myši spojená.
Příkaz JDI NA – může mít i jiné parametry, například Náhodná poloha či pozici jiné postavy.
[alert-note]Vyzkoušejte si:
Ve hrách se často využívá toho, že se myší řídí postava pouze v jednom směru (X nebo Y). Kupříkladu myší hýbeme nahoru a dolů a tím řídíme raketu, která uhýbá nepřátelům. Potřebujeme tedy měnit podle myši jen jednu souřadnici (Y), ta druhá (X) zůstane stále stejná. Dělá se to takto:
Převezmeme z myši obě souřadnice, tu Xovou ale ihned nastavíme na pevnou požadovanou hodnotu. Zkuste si to s naší hvězdičkou.
[/alert-note]
Běhání postavy za ukazatelem myši
Umísťování postavy rovnou na ukazatel myši se ve hrách moc často nepoužívá, je to příliš rychlé a nepřehledné. Ani v naší lekci to používat nebudeme, vyzkoušíme raději něco trochu jiného. Naprogramujeme hvězdičku tak, aby pomalu běhala směrem k ukazateli myši (a nikoliv rovnou skočila na ukazatel myši). Napište pro hvězdičku tento skript:
Skript pracuje opět v nekonečném cyklu a při každém průchodu nastaví směr postavy (hvězdičky) tak, aby směřovala k ukazateli myši. K tomu slouží příkaz NATOČ SE K – , kde jako parametr uvedeme Ukazatel myši. No a pak už stačí použít již známý příkaz POSUŇ SE O – KROKŮ, který posune postavu o 7 kroků ve směru, kterým je aktuálně nastavena – tedy směrem k ukazateli myši.
Příkaz NATOČ SE K – může mít i jiné parametry.Můžete vybrat buď Ukazatel myši, nebo se může natočit směrem k jakékoliv jiné postavě ve scéně.
Grafické efekty
A teď přidáme pár grafických efektů. Nejprve přidejte do cyklu příkaz ZMĚŇ EFEKT Barva O 5. Více se o práci s efekty dočtete v popisu tohoto příkazu, nyní stačí jen vědět, že při každé změně efektu barva hvězdička trochu změní barvu a postupně střídá všechny barvy spektra.
A dále přidejte příkaz OTISKNI SE, který „otiskne“ postavu v její aktuální pozici na pozadí scény, kde tento otisk zůstane. Všechny otisky se odstraní příkazem SMAŽ. Celý skript pak vypadá takto.
Všimněte si
- přidali jsme počáteční inicializaci, kde jednak smažeme případné předchozí otisky a hvězdičku nastavíme doprostřed
- a v cyklu měníme efekt (barvu) a hvězdičku otiskáváme, tím nám vzniká duhová stopa.
Přidáme tlačítko
Nyní přidáme tlačítko, které nám celou scénu smaže – tj. odstraní veškeré otisky.
Tlačítko je nová postava. Nejlépe ho vyrobíte tak, že si z knihovny postav vyberete pozadí pro tlačítko (v našem případě Button2) a poté mu upravíte kostým pomocí nástroje pro malování. Stačí trochu roztáhnout a přidat text.
No a tlačítku přidáme jednoduchý skript:
V tomto skriptu se seznámíme s novým příkazem – událostí PO KLIKNUTÍ NA MĚ. Tato událost a skript který za ní následuje je vyvolán ve chvíli, kdy uživatel klikne myší na danou postavu (v našem případě na tlačítko). A následný skript je velmi jednoduchý, pouze jeden příkaz na smazání otisků ze scény.
Vylepšení
Skript pro hvězdičku upravíme takto:
Všimněte si
- Přidali jsme podmínku, která v některých případech zruší předešlý posun hvězdičky. Hvězdička se tedy v tomto kroku nikam neposune.
- V této podmínce kombinujeme 2 různé podmínky pomocí operátoru NEBO. Podmínka příkazu KDYŽ je splněna, pokud platí Podmínka1 NEBO Podmínka2 (a nebo obě).
- Podmínka 1 je splněna, když se hvězdička dotýká tlačítka Smazat – hvězdička tedy nevjede na tlačítko (aby na něj bylo možné kliknout).
- Podmínka 2 je splněna, když se hvězdička dotýká ukazatele myši – tím zamezíme nehezkému skákání, když hvězdička vjede přímo pod ukazatel myši.
Pokročilejší práce s myší
Ukázku pokročilejší práce s myší najdete v článku Jak udělat pěkné interaktivní tlačítko. Při ovládání tlačítka řešíme, zda je myš na něm a zda je stisknuta. Podívejte se na článek a zkuste změnit tlačítko v našem projektu na toto interaktivní tlačítko.
Závěr
A je to, hvězdička nám kreslí pěknou barevnou stoupu, kterou můžeme vymazat pomocí tlačítka.
Na projekt se můžete podívat zde https://scratch.mit.edu/projects/123956929/