106. [game] Растеризация анимации. Создание эффектов Отражение и Тень

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/

В уроке Растеризация анимации. Использование библиотеки FPMovieClip мы научились растеризовывать анимацию с помощью библиотеки FPMovieClip.swc. В этом уроке я расскажу вам как можно получить набор картинок(массив BitmapData) из анимации, с помощью библиотеки FPMovieClip.swc. С помощью такого массива картинок, вы сможете создавать различные эффекты. Также я покажу вам как можно получить из анимации эффект отражения и тени, как показано на скриншоте:
rasterization-animation-effects-1

Если вы хотите получить набор картинок из анимации MovieClip, создайте объект класса FPRasterization, который вернет после обработки объект класса FPRasterizeData:

Объект класса FPRasterizeData имеет следующие поля:

  • bitmaps:Vector. – массив изображений(кадров анимаций)
  • framesByLabel:Object – объект, в котором можно получить номер кадра по имени метки
  • labelsByFrame:Object – объект, в котором можно получить имя метки по номеру кадра
  • labels:Array – массив всех меток анимации
  • offset :P oint – смещение для точки отсчета MovieClip-а

С помощью массива bitmaps вы сможете создать свой класс, который отображает анимацию из последовательности картинок. Или можно передать объект класса FPRasterizeData объекту класса FPMovieBitmap, который умеет проигрывать анимацию, и имеет все свойства и методы стандартного класса MovieClip.

Отражение. Класс FPMovieReflection

Для создания копии анимации, можно воспользоваться класса FPMovieReflection, в конструкторе которого необходимо передать ссылку на объект класса FPMovieClip или FPMovieBitmap. Например для создания отражение на полу, можно воспользоваться следующим кодом:

Здесь должна быть флешка. Установите Flash Player

Здесь нет ничего сложного, класс FPMovieReflection создает копию объекта animation и задает свойство scaleY=-1. Рассмотрим теперь как можно создать тень от анимации.

Тень. Класс FPMovieShadow

Для создания тени, в библиотеке FPMovieClip есть класс FPMovieShadow:

Здесь должна быть флешка. Установите Flash Player

Как же добиться такого эффекта? Делается это с помощью класса Matrix:

Как видно из этого примера, сделать тень совсем не сложно, главное что бы точка отсчета мувиклипа была в районе ног, т.к. трансформация будет осуществляться относительно этой точки. Параметр _shift может быть как отрицательным, так и положительным, знак задает направление смещения тени относительно исходного изображения. У объекта класса FPMovieShadow есть свойства shift и scale, с помощью которых можно управлять местоположением и размером тени. Таскайте желтый круг, что бы увидеть как будет меняться тень:

Здесь должна быть флешка. Установите Flash Player

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 1929 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress:


  1. Уведомление: 105. [game] Растеризация анимации. Использование библиотеки FPMovieClip | FlashPress.ru - ActionScript 3.0 и Adobe Flash

  2. shaidenko

    Я жалею ,что в сутках так мало времени ,так как я не успеваю читать Ваш блог!
    Скажу сразу ,что я не ворую Ваши коды ,но…ворую Ваш опыт и навыки! Я был бы просто счастлив ,если бы в дальнейших статьях удалось хооооть краешком глаза увидеть код Созданной Вами анимации ….мммм…..вот когда он умирает и ДЫМ!!!
    Бесподобно!

  3. Юлия

    Ваши уроки просто клад, который мне повезло найти в интернете. Спасибо вам огромное за проделанную работу и за то, что делитесь опытом и знаниями. Успехов вам!