A je tu další animace.
Tentokrát tu máme míč pohybující se po obrazovce.
Již víte, jak to udělat.
Máme tu proměnnou x.
Ta udává polohu míče.
Proměnná „speed“, která říká, jak daleko se míč pohne.
A známá smyčka, jenž překreslí pozadí pokaždé,
když se nastaví barevná výplň a nakreslí elipsa v poloze x.
To se stane, když k původní hodnotě "x" přičteme proměnnou "speed".
Takže pokud zmenšíme hodnotu „speed“, vidíte, že se pohybuje pomaleji.
Můžeme ji nastavit opačnou hodnotu, pak se pohybuje zpět.
Když nastavíme nulu, míč stojí.
Dokud není rychlost 0, tak míč se míč pohybuje po obrazovce.
Můžete stisknout tlačítko restart pro návrat zpět.
To je ale dost otravné, musíme to vždy znovu restartovat.
Co to udělat takto?
Když míč dosáhne pravého okraje obrazovky,
tak místo toho, aby prošel obrazovkou pryč,
co kdyby se míč otočil a vracel by se sám zpět?
A již víme, jak otočit míč.
Stačí nastavit "speed" na -5.
Pokud nastavíme speed na zápornou hodnotu, tak se míč bude vracet.
Ale je tady jeden problém.
Chceme totiž změnit rychlost pouze tehdy, když se míč dotkne pravého okraje.
Myslím, že to volá po použití "if" příkazu.
Dosud jsme dávaly příkazy počítači bez jakýchkoli podmínek.
If příkazy, tedy podmínky, jsou způsob, jak říct:
"Hej kámo, spusť tento kód.
A to se stane jen za určitých podmínek.
"Takže změnit rychlost, pouze pokud se míč dotkl pravého okraje."
Ukážeme si, jak to vypadá přímo v kódu.
Vše potřebné je napsat if.
Dále dvě kulaté a dvě složené závorky.
Do kulatých závorek dáme podmínku.
Do složených závorek dáme kód, který chceme spustit.
Princip je takový: "Pokud je tato podmínka pravdivá,
tak se spustí daný kód, jinak se tento kód nespustí.
V našem případě je to stav, kdy míček dosáhne pravého okraje.
Jak ale víme, zda míček dosáhl pravého okraje?
Máme proměnnou "x" která říká, kde je míč.
Dále víme, že okraj plátna je na x pozici 400.
Pokud je „x“ větší než 400.
Míč zmizí lehce za pravou hranu.
Podívejme se, jak to funguje.
Budeme jen měnit rychlost.
Rychlosti nastavíme na - 5.
Klikneme na restart a uvidíme, co se stane.
Když míč dosáhne pravého okraje, tak se odrazí.
A pak se dostane mimo obrazovku.
To je v pořádku, protože to samé uděláme i na druhé straně.
Zkontrolujeme, zda míč dosáhl levé strany.
To se stane, pokud je x menší než nula.
Rychlosti nastavíme tedy na hodnotu 5.
Klikněme na restart a tentokrát to ...
Funguje!
Kontrolujeme, zda míč překročil přes okraje.
Vypadá to, že jde trochu příliš za okraje.
Vzpomeňme si, že tyto dva parametry řídí,
kde je nakreslen střed elipsy.
Takže právě tehdy, když střed dosáhne okraje,
tak polovina elipsy už přesáhne přes okraj.
Pokud to chceme opravit, tak prostě zastavíme elipsu o něco dříve.
Pokud je naše hrana na 400, tak chceme zastavit naši elipsu, než se sem dostane.
Z funkce můžeme vidět, že elipsa má šířku 50.
To znamená, že od středu na okraj, to bude 25.
Chceme tedy zastavit když střed dosáhne hodnoty 375.
To je 400 minus 25.
Místo abychom kontrolovali, zda je x větší než 400,
budeme kontrolovat, zda x je větší než 375.
Namísto kontroly jestli je x menší než 0, zkontrolujeme, zda x je menší než 25.
A teď je to perfektní!
Podívejte se, jak se míč odráží.