Dále rozšiřte statický objekt z minulé úlohy o zadané dynamické vlastnosti. Každý prototyp, resp. druh objektu by měl umět:
uloha.wrl
Pila -- po doteku se pila rozjede a rozřeže stůl, ten se poté rozpadne.
Bazének -- při vstupu do bazénku se stůl uvniř samou radostí rozeskáče, po nějaké době však radost vyprchá (po 5 skocích). Skákaní stolu však zneklidní zdroj světla umístěný nad stolkem a ten začne měnít barvy. Stolem se dá taktéž pohybovat po dně bazánku. Zároveň se stolem se pohybuje i zdroj světla.
Čudl -- tvar stolu lze měnit pomocí otočneho čudlu na kraji bazénku. po každém kliknutí se tvar změní a čudl se potočí. Tvar stolu lze měnit i barevnými kostičkami. Každá kostička odpovídá jednomu tvaru stolu. Při změně tvaru kostičkou se čudl pootočí do správné polohy. Při implementaci čudlu a kostiček byl použit uzel Script.
Script
PROTO TableAnim[ eventIn SFTime startAnim # pocatek animace ]
PROTO PilaAnim[ eventOut SFTime clickAnim # pocatek animace ]
PROTO TableShow [ exposedField MFNode object Box {} # tvar objektu, který bude ukazován ]
PROTO MultiButton [ exposedField SFInt32 faze 0 # v jake fazi se cudl nachazi field SFInt32 faze_max 3 # kolik fazi bude cudl mit eventIn SFInt32 set_faze # a temito eventy se faze meni eventOut SFInt32 faze_changed # ... a dava vedet o tom, # ze byla zmenena ]
fáze
faze_max
faze_changed
Bez hudby (zip, 90kB)