Flash ActionScript 3 skala Y, aby otworzyć kopertę
Teraz, gdy zaprogramowaliśmy klapkę koperty w naszym FlashuR animacja, która pojawi się w pełni otwarta nad kopertą po kliknięciu przycisku stempla, musimy udoskonalić animację, aby wydawało się, że klapa powoli się otwiera. Zrobimy to, kontrolując dwie właściwości klapy. Pamiętaj, że obiekt newFlap jest zmienną, która odwołuje się do klipu filmowego FlapAni w bibliotece. Używamy tego var, aby klapa pojawiła się na scenie.

W ramach szybkiego przeglądu w ostatnim samouczku zaprogramowaliśmy funkcję o nazwie openFlap, aby dodać nowy obiekt FF do listy wyświetlania. Zrobiliśmy to za pomocą kodu addChild. Ustawiamy także pozycję początkową dla właściwości newFlap.x i newFlap.y. Spowodowało to umieszczenie dolnej części klapy na górnej krawędzi koperty. Jak wspomniano wcześniej, twoje wartości dla pozycji xiy na stole montażowym mogą się różnić w zależności od rozmiaru i położenia twojej koperty.

Pierwszą rzeczą, którą musimy zrobić, to poeksperymentować, aby znaleźć nową wartość Flap.y, która umieści klapkę poniżej górnej krawędzi obwiedni, a zatem poza zasięgiem wzroku na początku animacji. W rzeczywistości chcemy, aby trójkątna klapa znajdowała się tuż poniżej górnej krawędzi koperty. Podczas eksperymentów łatwiej jest przesunąć klapkę o 100 pikseli w prawo, ustawiając newFlap.x na 300 (dodatek 100). Spowoduje to, że klapka będzie częściowo widoczna po prawej stronie koperty. Po eksperymentach odkryłem, że potrzebna mi była nowa wartość 200Flap.y wynosząca 200. To jest nasza nowa początkowa pozycja klapy. Nie zapomnij przywrócić wartości newFlap.x do pierwotnej wartości przed przejściem do następnego kroku.

  1. Musimy zmienić istniejący kod z ostatniego samouczka, aby odzwierciedlić naszą nową wartość 200Flap.y wynoszącą 200. Przetestuj swój film po dokonaniu tej zmiany, a po kliknięciu przycisku pieczęć nie powinna być widoczna klapa.

    newFlap.y = 200;

    W naszej animacji chcemy, aby klapa powoli przesuwała się w górę powyżej koperty. Jednocześnie będziemy musieli przeskalować klapę od wartości początkowej zero. Zaczynając od skali ustawionej na zero, możemy spowolnić skalowanie klapy do pełnego otwarcia. Wartość y przesunie klapę w górę, ale to wartość skali sprawi, że klapka będzie się otwierać.

  2. Następną zmianą funkcji będzie dodanie kodu, który ustawi skalę Y na zero i spłaszczy klapę.

    newFlap.scaleY = 0;

    Teraz musimy popracować nad częścią animacji, która otworzy klapę. Istnieje kilka sposobów, aby to zrobić za pomocą ActionScript. W tym samouczku użyjemy nasłuchiwania zdarzeń dołączonego do stołu montażowego, aby uruchomić drugą funkcję, którą nazwiemy scaleFlap. Drugą funkcję umieścimy w funkcji openFlap.

  3. Pod kodem scaleY dodajmy detektor zdarzeń do stołu montażowego. To właśnie uruchomi funkcję scaleFlap.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Następnie dodaj drugą funkcję. Skopiuj i wklej ten kod do funkcji openFlap.

    funkcja scaleFlap (event: Event): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    jeszcze
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    Przeanalizujmy kod. Pierwsza instrukcja if sprawdzi wartość scaleY, aby zobaczyć, czy jest ona większa lub równa 1. Liczba 1 oznacza wartość skali 100%. Jeśli warunek jest spełniony, usuniemy Listener zdarzeń i zatrzymamy animację.

    Jeśli warunek jest fałszywy, będziemy kontynuować animację, zwiększając wartość skaliY o .05 i przesuwając klapę w górę o wartość ujemną 2,9. (Na etapie Flash przesuwamy się w górę, zmniejszając wartość liczbową pozycji Y.) Będzie to kontynuowane przy każdej nowej ramce, dopóki warunek wyrażenia if nie będzie prawdziwy.

    Ponownie te wartości liczbowe mogą być różne dla Twojego filmu ze względu na rozmiar koperty i położenie koperty na scenie. Oto ostatnia animacja.

Prawa autorskie 2018 Adobe Systems Incorporated. Wszelkie prawa zastrzeżone. Zrzuty ekranowe produktów Adobe zostały przedrukowane za zgodą Adobe Systems Incorporated. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst i Flash Paper jest / są [a] zarejestrowanym znakiem towarowym lub znakami towarowymi Adobe Systems Incorporated w Stanach Zjednoczonych i / lub innych krajach.