Przykład 6.3
Grupowanie elementów ruchu.

Niniejszy przykład obrazuje w jaki sposób grupować warstwy w grupy ruchu. W tym przypadku grupowanie posłużyło oddzielnemu uruchomieniu dwóch animacji.

Kulki po prawej stronie symbolizują układ planetarny. Żółta kólka to gwiazda, naokoło której krąży czerwona planeta. Zielona kulka to satelita owej planety.
Najpierw zdefiniujemy ruch planety, korzystając z definicji okręgu oraz funkcji trygonometrycznych. Tryb ruchu loop spowoduje, że planeta poruszać się będzie ciągle - nie zatrzyma się po wykonaniu całej animacji (po jednym okrążeniu) lecz wykona animacje od początku:
with(vlay.planeta){
    for(i=0;i<2*Math.PI;i+=0.1) vkf({left:100*Math.cos(i)+500, top:100*Math.sin(i)+900},1)
    van.go=true
    van.mode="loop"
}
Następnie w podobny sposób zdefiniujemy ruch satelity - księżyca. Żeby poruszał się on wraz z planetą, warstwa go zawierająca została zagnieżdżona w warstwie zawierającej planetę. środkiem obrotu księżyca będzie, oczywiście, środek planety.
with(vlay.ksiezyc){
    for(i=0;i<2*Math.PI;i+=0.1) vkf({left:60*Math.cos(i)+112, top:60*Math.sin(i)+112},1)
   van.go=true
   van.group="satelita"
    van.mode="loop"
}
Modelując ruch księżyca, przypisaliśmy go do innej grupy ruchu, o nazwie satelita.

Teraz uruchomimy animację domyślnej grupy "":

STPE.go('',30)

W grupie domyślnej znajduje się warstwa zawierająca planetę i księżyc. Warstwa ta po odpaleniu animacji grupy domyślnej rozpoczyna ruch. Księżyc porusza się razem z planetą, gdyż umieszczony jest w tej samej warstwie.

Ruch ten wygląda mało realistycznie, powinniśmy zatem odpalić animację grupy satelita, w której znajduje się księżyc:

STPE.go('satelita',5)

Ruch ten ma mniejszy interwał czasowy - księżyc okrąża planetę szybciej niz planeta porusza się naokoło gwiazdy.

W ten oto sposób zaobserwowaliśmy jak tworzy się oddzielne grupy ruchu. Oczywiście animacje tych grup mogą być uruchamiane niezależnie. Spróbujmy teraz zatrzymać animacje obu grup używając linków poniżej:

STPE.stop('')

STPE.stop('satelita')

A następnie ponownie uruchomić animacje, ale w odwrotnej kolejności - najpierw włączając ruch satelity, a następnie planety.

Powrót