20 - Animácia II
Last updated
Last updated
Zopakujte si základ animácie. Súradnice x
,y
nastavte na začiatku na spodok obrazovky. V podprograme draw vykreslite text "KONIEC" na súradnice x
,y
a meňte y
súradnicu tak, aby ste vytvorili pohyb textu zdola nahor, ako pri záverečných titulkoch:
Vytvorte skeč, v ktorom pobehuje zľava doprava žltý krúžok, v každom kole draw
sa posunie o 1
pixel. Ak jeho x
súradnica vybehne za pravý okraj obrazovky, nastaví sa naspäť na 0
:
Upravíme program tak, aby bola rýchlosť pohybu krúžku meniteľná. Vytvorte novú globálnu premennú rychlost
. Zmeňte program tak, aby sa namiesto o 1
pixel posúval krúžok o rychlost
. Nastavte rychlost
na začiatku programu na náhodné číslo z rozsahu 0.5
až 10
.
Upravte program tak, aby sa rýchlosť náhodne nastavovala nie len raz na začiatku, ale v každom kole draw
.
Nastavte úvodnú pozíciu krúžku na stred obrazovky width/2
, height/2
.
Nastavte interval, z ktorého sa vyberá náhodná rýchlosť na (-3, 3)
. Čo spôsobuje záporná rýchlosť?
Doplňte do programu aj rychlost pre pohyb v smere osi y, napríklad premennú ry
. (A pôvodnú rychlost
si premenujte na rx
). Na začiatku programu aj počas draw
ju náhodne nastavte na číslo z rozsahu (-3,3)
:
Pohyb krúžku je dosť chaotický. To preto, že sa rx
a ry
menia príliš často. Zmeňte program tak, aby sa rx
a ry
nemenili náhodne pri každom vykreslení, ale len keď stlačím myš:
Gulička nám vybieha z obrazovky. Zatiaľ sme v programe ošetrili len prípad, že ak vybehne von pravým okrajom, nastaví sa jej x
súradnica na 0
. Doplňte ďalšie tri podmienky do programu:
ak x
vybehne za ľavý okraj obrazovky, nastaví sa x
na width
(to je pravý okraj)
ak y
vybehne za dolný okraj obrazovky, nastaví sa y
na 0
(to je horný okraj)
ak y
vybehne za horný okraj obrazovky, nastaví sa y
na height
(to je dolný okraj)
Ukážeme si, ako urobiť odrážanie guličky od okrajov obrazovky.
Teraz máme program napísaný tak, že keď gulička narazí na niektorý z okrajov, skočí na opačný okraj. Takto asi vyzerá váš kód, ktorý to robí:
Ak chceme, aby sa namiesto skočenia na opačný okraj zmenil smer, budeme potrebovať "otočiť" príslušnú rýchlosť. Ak x
narazí na pravý okraj okraj, zmeníme rx
na -rx
. Takisto aj keď narazí na pravý okraj. A analogicky v prípade y
budeme meniť ry
:
Ná zaklade úlohy 9 vyrobte skeč, kde sa takto po obrazovke preháňajú a odrážajú od stien 2 bodky. Vyrobte si premenné x1
, y1
, rx1
, ry1
a premenné x2
, y2
, rx2
, ry2
a rozpohybujte ich podľa tých istých pravidiel ako v Úlohe 9.
Akurát namiesto kreslenia dvoch krúžkov spojte ich súradnice čiarou. Vzniknú vám zaujímavé obrazce: