https://scratch.mit.eduZde najdete Scratch

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.lekce_mys1

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.Příkaz JDI NA -

 

[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:lekce_mys2

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

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ě.Příkaz NATOČ SE K

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.lekce_mys4

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

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

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/

Share This