ActionScript 3 Снігопад у частинках системи
Спосіб другий

Другий метод дозволить нам використовувати лише кілька сніжинок замість того, щоб постійно створювати нові. Але для цього нам потрібно буде знайти спосіб переробити сніжинки, які ми створюємо. Перший крок - змінити те, як ми називаємо функцію сніжинки, яка створює сніжинки. Ми більше не хочемо створювати нову сніжинку з кожним новим кадром, тому нам потрібно буде видалити слухач подій у верхній частині коду.

stage.addEventListener (Event.ENTER_FRAME, сніжинка);

Тепер ми додамо код, який створить невелику кількість сніжинок. Ми будемо використовувати оператор для циклу в рамках функції сніжинки для контролю кількості створених сніжинок. Нам знадобиться близько 70 сніжинок. Якщо ми збільшимо це число набагато вище, анімація знову стане завданням. Помістіть курсор всередині коду функції сніжинки відразу після відкриття фігурної дужки та додайте рядок коду, який підкаже Flash, щоб повторити функцію сніжинки 70 разів. Далі додайте відкриваючу фігурну дужку для петлі. Ви можете розпізнати це за кодом циклу з другого підручника цієї серії.

функція сніжинка (подія: подія): недійсна
{
для (var i: Число = 0; i <70; i ++)
{


Решта коду функції сніжинки повинна залишатися однаковою. Тепер нам потрібно закрити петлю for для закриваючою фігурною дужкою. Розмістіть цю дужку відразу після останнього рядка функції. Ось код. Я перемістив тіло функції вправо, щоб зробити його більш читабельним. Однак для роботи коду це не обов'язково.

Нарешті, нам потрібно прибрати функцію снігопаду з функції сніжинки. Це легко зробити. Просто перемістіть фігурну дужку, яка закриває функцію сніжинки знизу програми до кінця коду циклу for. Зараз у нас є дві функції, які повністю відокремлені одна від одної.

Оскільки ми більше не викликаємо функцію сніжинки за допомогою слухача подій, який ми видалили вгорі коду, нам потрібно буде зателефонувати за допомогою простого виклику функції. Оскільки ми використовуємо оператор for циклу в межах функції, щоб повторити функцію 70 разів, нам потрібно викликати саму функцію лише один раз. В кінці всього програмного коду розмістіть цей виклик функції.

сніжинка ();

Нарешті, нам потрібно видалити код RemoveChild, який ми додали до нашого коду для першого методу. Пам'ятайте, що ми хочемо переробити ці сніжинки замість того, щоб видаляти їх зі списку дисплеїв. Видаліть наступний код.

removeChild (_Snowflake);

Якщо ви протестуєте свій фільм, ви отримаєте повідомлення про помилки. Давайте подбаємо про останню помилку у списку. Ми отримали це повідомлення про помилку, оскільки в дужках коду функції сніжинки є один аргумент. Але ми більше не використовуємо цей аргумент "подія: подія", оскільки ми видалили слухач подій. Нам потрібно видалити "подія: подія" з внутрішніх дужок.

функція сніжинка (): недійсна

← Назад | Далі →

Авторські права 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 у США та / або інших країнах.