Прошийте Flash ActionScript 3 масштабуY, щоб відкрити конверт
Тепер, коли ми запрограмували клапан конверта у нашому FlashR щоб анімація з'явилася повністю відкритою над конвертом, коли натискається кнопка штампу, нам потрібно вдосконалити анімацію, щоб було схоже, що клапоть повільно відкривається. Ми це зробимо, контролюючи дві властивості клаптя. Пам'ятайте, що новий об'єктFlap - це змінна, яка посилається на кліп фільму FlapAni у бібліотеці. Ми використовуємо цей вар для того, щоб клапоть з’явився на сцені.

Як короткий огляд, в останньому підручнику ми запрограмували функцію під назвою openFlap, щоб додати новий списокFlap до списку відображення. Ми зробили це за допомогою коду addChild. Також ми встановлюємо початкове положення для властивостей newFlap.x та newFlap.y. Це розмістило дно клаптя у верхньому краї конверта. Як згадувалося раніше, ваші значення для позицій x і y на сцені можуть змінюватись залежно від розміру та розташування конверта.

Перше, що нам потрібно зробити, - це експериментувати, щоб знайти нове значення Flap.y, яке розмістить клапоть нижче верхнього краю конверта, а отже, поза увагою на початку анімації. Насправді ми хочемо, щоб точка трикутного клаптя була трохи нижче верхнього краю конверта. Поки ви експериментуєте, можливо, простіше перемістити клапоть на 100 пікселів праворуч, встановивши newFlap.x на 300 (додавання 100). Це зробить клапоть частково видимим на правій стороні конверта. Експериментував, я виявив, що мені потрібно було нове значення FFlap.y 200. Це наша нова початкова позиція для клапана. Не забудьте повернути нове значення Flap.x до початкового значення, перш ніж перейти до наступного кроку.

  1. Нам потрібно змінити існуючий код з останнього підручника, щоб він відображав наше нове значення newFlap.y 200. Перевірте свій фільм після внесення змін, і ви не повинні бачити клапоть, коли натискаєте кнопку штампу.

    newFlap.y = 200;

    Для нашої анімації ми хочемо, щоб клапоть повільно переміщувався вгору над конвертом. У той же час нам знадобиться масштабувати кришку, відкриту від початкового значення нуля. Починаючи зі шкали, встановленої на нуль, ми можемо уповільнити масштабування клапана до повного відкриття. Значення y перемістить клапоть вгору, але саме значення масштабу зробить клапан відкритим.

  2. Наступною зміною функції стане додавання коду, який встановить шкала Y на нуль і вирівняє клапоть.

    newFlap.scaleY = 0;

    Тепер нам потрібно попрацювати над тією частиною анімації, яка відкриє клапоть. Існує кілька способів зробити це за допомогою ActionScript. У цьому підручнику ми використовуватимемо слухач подій, приєднаний до сцени, щоб запустити другу функцію, яку ми будемо називати scaleFlap. Ми розмістимо цю другу функцію всередині функції openFlap.

  3. Під кодом scaleY давайте додамо слухача подій на сцену. Це те, що запустить функцію scaleFlap.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Далі додайте другу функцію. Скопіюйте та вставте цей код у функцію openFlap.

    функція scaleFlap (подія: подія): недійсна
    {
    якщо (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    ще
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    Розберемо код. Перший, якщо оператор перевіряє значення scaleY, щоб побачити, чи воно більше або дорівнює 1. Число 1 являє собою масштабне значення 100%). Якщо умова справжня, ми видалимо слухача подій і зупинимо анімацію.

    Якщо умова помилкова, ми продовжимо анімацію, збільшивши значення scaleY на .05 і перемістивши клапоть вгору на від’ємне 2,9. (На етапі Flash ми рухаємося вгору, зменшуючи значення числа позиції Y.) Це триватиме з кожним новим кадром, поки не буде виконано умову для твердження if.

    Знову ці цифри можуть відрізнятися для вашого фільму через розмір конверта та розташування конверта на сцені. Ось фінальна анімація.

Авторські права 2018 Adobe Systems Incorporated. Всі права захищені. Знімки екрана продуктів Adobe передруковані з дозволу Adobe Systems Incorporated. Adobe, Photoshop, альбом Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst та Flash Paper є або є [a] зареєстрованою торговою маркою (ими), або торговою маркою (іми) Adobe Systems Incorporated у США та / або інших країнах.