Система частинок Flash CS3 ActionScript 3
Інші повідомлення про помилки траплялися тому, що ми видалили функцію снігопаду з функції сніжинки. Через це функція снігопаду не знає, як розпізнати сніжинки. Нам потрібно внести зміни до коду функції снігопаду, щоб сказати, щоб він розпізнавав поточну сніжинку, яку тільки що створили. Ми змінимо "_Snowflake" на "event.target" у чотирьох місцях, де це відбувається.

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

Перевірте ще раз. Немає помилок, і у нас всі 70 сніжинок падають на дно сцени. Але тоді анімація припиняється, тому що ми не створюємо нових сніжинок після початкових 70 сніжинок. Нам потрібно додати код, який переробить ці 70 сніжинок назад до вершини сцени. Коли ми переміщаємо ці сніжинки назад до вершини, давайте скористаємось тим самим кодом Math.random (), який ми використовували у функції сніжинки, щоб випадково розмістити наші перероблені сніжинки. Але цього разу нам потрібно використовувати "event.target" замість "_Snowflake".

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

Перевірте ще раз, і ви побачите, як 70 сніжинок падають зверху на сцену, а потім переробляються сніжинки. Але є кілька секунд, перш ніж перероблені сніжинки почнуть падати. Це було б набагато більш плавною анімацією, якби ми могли змінити код, щоб початкові 70 сніжинок розмістилися на всій сцені, а не просто вгорі. Повернемося до функції сніжинки та змінимо "40" на "400" для властивості__Snowflake.y. Це розмістить 70 початкових сніжинок у випадкових положеннях від 0 до 400 по осі Y, що охопить всю сцену.

Перевірте ще раз, і ми маємо успіх. Збережіть свою сніжну сцену як SnowScene10.fla.

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

← Назад

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