Flash ActionScript 3 scaleY, чтобы открыть конверт
Теперь, когда мы запрограммировали клапан конверта в нашей Flashр анимация, которая должна отображаться полностью открытой над конвертом при нажатии кнопки штампа, нам нужно уточнить анимацию, чтобы создать впечатление, что клапан медленно открывается. Мы сделаем это, контролируя два свойства клапана. Помните, объект newFlap - это переменная, которая ссылается на фрагмент ролика FlapAni в библиотеке. Мы используем эту переменную, чтобы заслонка появилась на сцене.

В качестве краткого обзора в последнем уроке мы запрограммировали функцию openFlap для добавления объекта newFlap в список отображения. Мы сделали это с помощью кода addChild. Мы также устанавливаем начальную позицию для свойств newFlap.x и newFlap.y. Это поместило нижнюю часть клапана на верхнем краю конверта. Как упоминалось ранее, ваши значения положения x и y на сцене могут отличаться в зависимости от размера и расположения вашего конверта.

Первое, что нам нужно сделать, - это поэкспериментировать, чтобы найти значение newFlap.y, которое поместит клапан ниже верхнего края конверта и, следовательно, не будет виден в начале анимации. Фактически, мы хотим, чтобы точка треугольного клапана была чуть ниже верхнего края конверта. Пока вы экспериментируете, может быть легче переместить клапан на 100 пикселей вправо, установив для newFlap.x значение 300 (дополнительно 100). Это сделает клапан частично видимым на правой стороне конверта. После экспериментов я обнаружил, что мне нужно значение newFlap.y, равное 200. Это наша новая начальная позиция для закрылка. Не забудьте вернуть значение newFlap.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.

    function scaleFlap (event: Event): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    еще
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    Давайте рассмотрим код. Первый оператор if проверит значение scaleY, чтобы увидеть, больше или равно оно 1. Число 1 представляет значение масштаба 100%). Если условие истинно, мы удалим прослушиватель событий и остановим анимацию.

    Если условие ложно, мы продолжим анимацию, увеличив значение scaleY на 0,05 и переместив клапан вверх на 2,9. (На этапе Flash мы двигаемся вверх, уменьшая числовое значение позиции Y.) Это будет продолжаться с каждым новым кадром до тех пор, пока условие для оператора if не станет истинным.

    Опять же, эти числовые значения могут отличаться для вашего фильма из-за размера вашего конверта и расположения вашего конверта на сцене. Вот финальная анимация.

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 в США и / или других странах.