Jak si vytvořit vlastní proměnné
a jak je používat, to jsme se už naučili.
Nyní se podíváme na dvě
speciální proměnné:
Budou se jmenovat
mouseX a mouseY.
Tyto proměnné nemusíte
určovat sami.
Popravdě byste to
dělat ani neměli.
Tyto proměnné už
totiž existují.
Program totiž nastavuje hodnoty
těchto proměnných sám.
Zajišťuje, že hodnotou mouseX
je vždy x-ová pozice vaší myši.
A hodnotou mouseY je
vždy y-ová pozice vaší myši.
Díky tomu je opravdu snadné
si naprogramovat něco interaktivního.
A to na základě polohy
myši uživatele.
Podívejme se na elipsu,
kterou tady mám.
V tomto momentě je
definována hodnotami 200, 200.
V případě, že použiju mouseX
a mouseY, speciální proměnné,
můžu ji definovat
hodnotami mouseX a mouseY.
V případě, že nyní
projedu myší po plátně,
bude elipsa vykreslována
na místě kurzoru.
Kopíruje pohyb mé myši.
To je dost dobrý!
Uhodnete,
co kreslím?
V případě, že se chystáte
použít mouseX a mouseY,
musíte se ujistit, že je
používáte uvnitř funkce "draw".
Protože podívejte,
co se stane,
když tyto dva řádky kódu
přesuneme mimo tuto funkci.
Vidíte?
Tento kód se
přehraje pouze jednou.
Elipsa se tedy nakreslí
jenom jednou
a to v poloze mé myši
na samém začátku programu.
Kvůli tomu musíme mít proměnné
uvnitř funkce "draw".
Protože funkce "draw"
je taková funkce,
která je přivolávaná opakovaně
v průběhu celého programu.
Čili v momentě,
kdy ji přivoláme,
se podívá na současnou
hodnotu mouseX a mouseY
a podle toho nakreslí elipsu.
Když se nad tím zamyslíte, celý
proces je celkem podobný animaci.
Průběžně mění hodnoty,
jenom jiným způsobem.
Teď můžeme dělat
hodně zajímavých věcí.
Co kdybych místo hodnot mouseX a mouseY
ponechala hodnotu mouseX
a určila fixní hodnotu
mouseY na 300?
Jak můžete vidět, elipsa
následuje pouze souřadnici x.
Vůbec jí nezajímá y-ová souřadnice.
Co kdybych teď vrátila původní
hodnoty mouseX a mouseY,
ale odstranila pozadí
a zakomentovala jej?
Teď tady mám
tuhle podivnou kresbu.
To je celkem zajímavé!
Nebo bych proměnné
mohla prohodit.
Nejdřív vrátím pozadí.
Čili prohodím proměnné
mouseY a mouseX.
A podívejme, co se stane.
Nyní je to hodně, hodně zvláštní.
Ovladače myši dělají opak toho,
co bych od nich očekávala.
To je ale v pořádku,
můžete třeba udělat hru,
ve které se pomocí přehozených
ovladačů snažíte něco nakreslit.
A to je vše k mouseX a mouseY.