Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [flash][as3]Problem z tween class
Forum PHP.pl > Forum > Przedszkole
Suule
Witam

Jestem w trakcie tworzenia stronki we flash'u cs3.
Ale utknąłem na w miarę łatwym problemie.

A mianowicie, postanowiłem menu wraz z animacja napisać w AS3.
Chce by po wcisnięciu przycisku rozsunęły się 'kolumny' a pośrodku nich był tekst. (Kolumny są zarazem przyciskami). Po wciśnięciu przycisku, kolumny, złączyłyby się, a następnie rozsunęły, ukazując tekst.

Problem w tym iż nie potrafię zrobić, tak jakby dwóch animacji jednego obiektu, w jednej funkcji, a jaśniej, zamiast złączać i rozłączać, animacja wykonuje tylko jeden ruch... czyli złącza się.

Kod owej funkcji wygląda następująco:
Kod
<pre class="alt2" dir="ltr" style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 418px; text-align: left;">function aboutPage1(e:MouseEvent):void
{
    if (aboutPage.x != 346.0) /* sprawdza czy po raz pierwszy weszliśmy na strone, jeżeli tak to złączanie kolumn nie jest wymagane - tylko rozjeżdżają się... to działa. */
    {
    new Tween(homePage,"x",Strong.easeOut,homePage.x,310,12,false);
    new Tween(aboutPage,"x",Strong.easeOut,aboutPage.x,346,12,false);
    new Tween(servicesPage,"x",Strong.easeOut,servicesPage.x,382,12,false);
    new Tween(testPage,"x",Strong.easeOut,testPage.x,418,12,false);
    new Tween(contactPage,"x",Strong.easeOut,contactPage.x,454,12,false);
    }else   /* No i właśnie tutaj jest problem, wykonuje tylko pierwsze 4 linijki kodu, czyli kolumny się zjeżdżają */
    {
    new Tween(homePage,"x",Strong.easeOut,homePage.x,50,12,false, );
    new Tween(aboutPage,"x",Strong.easeOut,aboutPage.x,86,12,false);
    new Tween(servicesPage,"x",Strong.easeOut,servicesPage.x,636,12,false);
    new Tween(testPage,"x",Strong.easeOut,testPage.x,672,12,false);
    new Tween(contactPage,"x",Strong.easeOut,contactPage.x,708,12,false);
    
//dalsza część kodu nie jest wykonywana.
    new Tween(homePage,"x",Strong.easeOut,homePage.x,50,12,false);
    new Tween(aboutPage,"x",Strong.easeOut,aboutPage.x,86,12,false);
    new Tween(servicesPage,"x",Strong.easeOut,servicesPage.x,636,12,false);
    new Tween(testPage,"x",Strong.easeOut,testPage.x,672,12,false);
    new Tween(contactPage,"x",Strong.easeOut,contactPage.x,708,12,false);
    }

Moja prośba/pytanie brzmi:
Czy da się zamieścić dwie animacje obiektu w jednym Tween'ie, jeżeli nie... to jak wykonać efekt taki jaki napisałem na początku postu.
Proszę o pomoc!

P.s
Jeżeli zrobiłem głupi błąd to się nie dziwcie, to będzie moja pierwsza strona napisana w 100% we flash'u.

Czyżby nikt nie wiedział? smile.gif)
wookieb
Nie możesz dać dwóch obiektów do klasy tween.

Za to gorąco polecam klasę Caurina Tweener do wszelkich animacji http://code.google.com/p/tweener/

Efekt który chcesz uzyskac to nic innego jak sprytne połączenia animacji rozejscia i zejscia (zrób aby było odpowiedzialne za to tylko 2 funkcje). Po użyciu zdarzeń onComplete dla tego tweenera łątwiej bedzie uzyskac zamierzony cel.
Suule
Dzięki, właśnie pobieram tą klasę.
Początkowo używałem zwykłej klasy tween, z opcją onFinish, i w funkcji miałem linijkę z kodem continue ale nie działało to zbytnio dobrze...

Więc spróbują z tą nową klasą, jakbym miał jakieś problemy to dam znać

[edit]
Jeszcze raz wookieb, klasa która mi poleciłeś jest rzeczywiście bardzo pomocna, i problem z którym się męczyłem tyle praktycznie sam się rozwiązał w 5min.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.