myBitmap = new BitmapData(390,293,false,0);
// -----------------------------------------------
// -----------------------------------------------
Всё готово! Нажимайте Сtrl+Enter и тестируйте мувик Пример 2 (идентичный первому с небольшими различиями)Realistic Flash Water EffectМы создадим эффект водной поверхности в Adobe Flash, используя Actionscript. После выполнения данного урока вы сможете применить его к любому изображению или собственной фотографии.С помощью данного урока вы создадите такой эффект: Нам понадобится эта картинка:Шаг 1. Свойства документа.Откройте Adobe Flash и создайте документ со следующими настройками (Modify > Document):Размер: 390x293 аналогично размеру используемой фотографии)Frame Rate: 30 fps (количество кадров в секунду)Шаг 2. Импортирование фото и подготовка его.Импортируйте файл lake_img.jpg на сцену. File > Import > Import to Stage...Выделите фотографию и используя панель Align (Window > Align) отцентрируйте ее. Убедить что кнопка To Stage нажата и нажмите кнопки выравнивания как на скриншоте ниже:На временной панели назовите этот слой Water. Создайте новый слой с помощью кнопки Insert Layer. Назовите новый слой Land & Sky (см. ниже):Правый щелчок по фотографии в появившемся меню выберите Break ApartВозьмите инструмент Lasso и выделите верхнюю часть фото (ту, которая останется неизменной - небо и землю).Копируйте выделенную часть фотографии. Вставьте скопированное на слой Land & Sky с помощью команды paste it into place (Edit > Paste in Place)Теперь вверитесь на слой Water и конвертируйте начальное изображение в MovieClip (Modify > Convert to Symbol). Назовите его: water_mcНа панели свойств Properties дайте мувиклипу instance name - 'water_mc'Пришло время Actionscript.Шаг 3. Создание эффекта с помощью Actionscript.Создате новый слой над слоем Land & Sky и назовите его Actionscript.Выберите первый кадр на временной шкале и откройте панель ActionScript - Window > Actions. Введите следующий скрипт: CODE
backImg1.filters=[disp];
bm.perlinNoise(45,9,2,50,true,false, 7,true,perlinOffset);
perlinOffset[1].y +=0.1;
perlinOffset[0].x +=1;
function onFrame(evt:Event):void {
addEventListener(Event.ENTER_FRAME, onFrame);
var perlinOffset:Array = [pt1, pt2];
var pt2:Point = new Point(0,0);
var pt1:Point = new Point(0,0);
var disp:DisplacementMapFilter = new DisplacementMapFilter(bm,new Point(0,0),1,2,10,60);
var bm:BitmapData=new BitmapData(backImg1.width, backImg1.height);
Пример 1Этот урок для тех, кто хочет воспроизвести реальное движение на поверхности воды - "рябь на воде". В этом уроке используется Action sсript Вот такой результат должен получиться: Открываем Флеш, выбираем Action sсript 3.0 Импортируем заранее подготовленную картинку. File - Import to stage Центрируем картинку с помощью вкладки Align при необходимости. Даём название нашему слою с картинкой. Дважды щёлкаем на слое и пишем image. Затем конвертируем нашу картинку в символ. Нажимаем F8 и пишем название backImg1 Далее нам нужно ввести имя в Instance, что на в кладке Properties Следите что имена были точно как нас скринах - это важно!!! Создаём новый слой и называем его actions. В итоге у вас должно быть два слоя вот с такими названиями и располагаться они должны вот в таком порядке. Нажимаем мышкой на первый кадр во вновь созданном слое и жмём F9 Вводим код
This will destroy you... Quiet
09:15 Урок Adobe Flash - водная рябь, анимированная вода, анимация воды ActionScript
Суббота, 29 октября 2011
Урок Adobe Flash - водная рябь, анимированная вода, анимация воды ActionScript — This will destroy you... Quiet
Комментариев нет:
Отправить комментарий