Flash CS3 ActionScript 3 Система частиц
Другие сообщения об ошибках произошли, потому что мы удалили функцию снегопада из функции снежинки. Из-за этого функция снегопада не знает, как распознать снежинки. Нам нужно внести изменения в код функции снегопада, чтобы он распознал текущую снежинку, которая только что была создана. Мы заменим «_Snowflake» на «event.target» в четырех местах, где это происходит.

У нас есть еще одно исправление, прежде чем мы сможем снова протестировать наш фильм. Вернемся к коду функции снежинки. Слушатель событий внутри этого кода вызывает функцию снегопада. Но он все еще слушает сцену. Нам нужно изменить это так, чтобы прослушиватель событий прикреплялся к каждой новой снежинке по мере ее создания, а не к каждому новому кадру анимации. В начале кода прослушивателя событий измените «stage» на «_Snowflake».

Проверьте снова. Без ошибок и у нас все 70 снежинок падают на дно сцены. Но затем анимация останавливается, потому что мы не создаем никаких новых снежинок после первых 70 снежинок. Нам нужно добавить код, который будет перерабатывать эти 70 снежинок обратно на вершину сцены. По мере того, как мы перемещаем эти снежинки наверх, давайте использовать тот же код Math.random (), который мы использовали в функции снежинки, чтобы случайным образом размещать наши переработанные снежинки. Но на этот раз нам нужно использовать «event.target» вместо «_Snowflake».

Наконец, нам нужно удалить код removeEventListener из функции снегопада. Мы не хотим, чтобы наши снежинки больше не падали. Мы хотим, чтобы они поднялись на вершину и снова упали. Вот новый код для условного оператора.

Попробуйте еще раз, и вы увидите, как 70 снежинок падают с вершины на сцену, за которыми следуют переработанные снежинки. Но есть несколько секунд, прежде чем переработанные снежинки начинают падать. Анимация была бы намного более плавной, если бы мы могли изменить код так, чтобы исходные 70 снежинок располагались по всей сцене, а не только сверху. Давайте вернемся к функции снежинки и изменим «40» на «400» для свойства the_Snowflake.y. Это поместит 70 исходных снежинок в случайные положения от 0 до 400 вдоль оси Y, которые будут охватывать всю сцену.

Попробуйте снова, и мы добьемся успеха. Сохраните снежную сцену как SnowScene10.fla.

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

← Назад

Copyright 2018 Adobe Systems Incorporated. Все права защищены. Снимки экрана продукта Adobe перепечатаны с разрешения Adobe Systems Incorporated. Adobe, Photoshop, альбом Photoshop, элементы Photoshop, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, фейерверки, содействие, увлечение, Flash Catalyst и Flash Paper является или является [a] зарегистрированным товарным знаком (-ами) или товарным знаком (-ами) Adobe Systems Incorporated в США и / или других странах.


Видео инструкция: Flash Tutorial #1 - Particle effects (April 2024).