-
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áží.