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:
Pila -- po doteku se pila rozjede a rozřeže stůl, ten se po té 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. Ten však neustane. Stolem se dá taktéž dá 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 bazenku. 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 oběktu, 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 ] Čudl je ponekud mimo rámec této ulohy, proto jen okrajove. Každým kliknutim se zvetší fáze (modulo faze_max. Pokud prijde event faze_changed cudl se obrátí do spravné polohy. Popis předávání událostí
Čudl je ponekud mimo rámec této ulohy, proto jen okrajove. Každým kliknutim se zvetší fáze (modulo faze_max. Pokud prijde event faze_changed cudl se obrátí do spravné polohy. Popis předávání událostí
fáze
faze_max
faze_changed