-Метки

8 марта cхемы мои html proshow Маски анимации валентинов день весна видео выпечка генераторы генераторы текста генераторы фонов генераторы фото декор день рождения дети дневник домоводство друзьям живопись животные закуски здоровье зима иконы инструментальная музыка интернет картинки кино кисти клипарт клипарт девушки клипарт детский клипарт зиминий клипарт зимний клипарт кулинарный клипарт любовь клипарт природы коллажи компьютер кулинария линеечки-разделители личное мои работы фотошоп мои работы фш молитвы музыка музыкальные открытки мясные блюда натюрморты новый год обои обои зимние осень оформление днева пасха песни плеер полезные советы похудение приправы природа природы очарованье программы радио разное рамки рамки для днева рамки фотошоп рамочки мои рыбные блюда сайты секреты красоты скрап-наборы слайд-шоу создание сайта стихи схемы зимние схемы мои схемы мои цветочные схемы цветочные торты уроки анимации уроки для днева уроки фотошоп фильтры флешки фоны фоны аниме фоны зимние фоны мои фоны природы фотошоп цветоводство цветы часики шрифты экшен юмор

 -Рубрики

 -Поиск по дневнику

Поиск сообщений в streglova

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 24.05.2011
Записей:
Комментариев:
Написано: 36960


Как я делала урок "Снегопад с прилипанием снега"

Вторник, 27 Января 2015 г. 22:31 + в цитатник
Цитата сообщения ВАТ Как я делала урок "Снегопад с прилипанием снега"

Снегопад с прилипанием., Урок. ActionScript 3




Мои пояснения к уроку.

!. Создайте новый документ с нужными размерами (у меня 700 на 500), с частотой кадров =25. Напишите основной класс Main и сохраните его в папке под названием, например, Снегопад (файл - сохранить как...)

2014-10-23_22h35_24 (600x418, 40Kb)

2. Нарисуйте несколько снежинок в программе или импортируйте их в библиотеку (я нарисавала 4 снежинки в фотошопе, применила тиснение и глянец). Перетащите их по очереди на сцену, выделите, измените размер (если нужно), выровняйте по центру
2014-10-24_11h38_30 (256x309, 17Kb)
и преобразуйте её в символ (это можно сделать так: а) нажать F8; б) Модификация - Преобразовать в символ; в) нажать правой клавишей на снежинку и в открывшемся окне нажать на Преобразовать в символ) с именем flake0, поставьте галочку в Экспорт для ActionScript
2014-10-23_23h05_07 (600x476, 41Kb)
Появится окно, нажмите ок
2014-10-23_23h12_46 (510x162, 17Kb)
Удалите символ со сцены. Так проделайте со всеми снежинками и присвойте flake1; flake2; flake3 и т.д. столько сколько будет у вас снежинок и не забудьте ставить галочки в Экспорт для ActionScript.
3. Создайте объект к которому будет прилипать снег, это может быть что угодно (автор взял текст), превратите его в символ (клип) с точкой регистрации в верхнем левом углу, дайте имя headTxt и поставьте галочку в Экспорт для ActionScript (как в снежинках), после чего удалите символ со сцены (если возьмёте текст, то не забудьте поставить динамический и внедрить шрифт).
2014-10-24_11h58_35 (400x307, 32Kb)
4. Перетащите на сцену картинку (или нарисуйте как в уроке что-нибудь где будет идти снег. Я взяла гогтовую картинку), превратите его в символ с точкой регистрации в левом верхнем углу, с именем и классом content (как снежинки и текст).
5. Создайте и сохраните в папке с проектом (Снегопад) 2 пустых as. файла, один назовите Main.as (это главный класс) и Flake.as (класс снежинок). Файл - Создать
2014-10-24_01h05_12 (366x191, 17Kb)
2014-10-23_23h38_391 (500x303, 20Kb)
6. Вставить в Flake.as код (описание кода почитайте в уроке)

package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
//Импортируем нужные пакеты
public class Flake extends Sprite {
//Объявление класса
private var sn:MovieClip;
//Ссылка на клип снежинки
private var ymax:Number;
//Высота документа
private var x0:Number;
//Стартовая х-координата снежинки
private var speed:Number;
//Скорость движения (величина задержки таймера)
private var angle:Number;
//Угол. Его проецируем на траекторию движения
private var scale:Number;
//Массштаб снежинки
private var tim:Timer;
//Таймер
private var targ:MovieClip;
//Ссылка на объект, к которому снежинка прилипает
private var movingFlag:int;
//Разрешение/Запрет движения
private var stopDelay:Number
//Продолжительность прилипания снежинки
//Конструктор. Аргументом является клип снежинки
public function Flake(arg:MovieClip):void {
//Запомним и кэшируем аргумент
sn=arg;
sn.cacheAsBitmap=true;
//Дефолтные установки для переназначаемых переменных
speed=100;
angle=0;
scale=1;
movingFlag=1;
//Снежинку – в дисплей список.
addChild(sn);
//Создание таймера
tim=new Timer(speed);
//События.
// Экземпляр класса добавлен на сцену
addEventListener(Event.ADDED_TO_STAGE, init);
//Отработал очередной интервал таймера
tim.addEventListener(TimerEvent.TIMER, moving);
}
//Эти методы (сеттеры) позволяют установить нужные свойства класса извне.
// Установка новой задержки таймера (скорости движения)
public function set _speed(arg:Number):void {
speed=arg;
tim.delay=speed;
stopDelay=speed;
}
//Угол
public function set _angle(arg:Number):void {
angle=arg;
}
//Массштаб
public function set _scale(arg:Number):void {
scale=arg;
this.scaleX=this.scaleY=scale;
}
// Целевой объект прилипания
public function set _target(arg:MovieClip){
targ=arg;
}
//Слушатели событий
/*Эта функция вызовется единожды, когда экземпляр класса будет добавлен на сцену.
Здесь выясним высоту документа, начальную х-координату и, запустив таймер, начнем движение.*/
private function init(e:Event) {
ymax=stage.stageHeight;
x0=this.x;
tim.start();
}
/* Функция перемещения снежинки. Вызывается с каждым интервалом таймера
Двигаем снежинку, следим за пересечением с целевым объектом, прилипаем и отлипаем*/
private function moving(e:TimerEvent) {
/*Ось у. Если снежинка опустилась за пределы документа, переставим ее вверх, иначе опускаем с постоянной скоростью. Когда movingFlag=0, движение остановится*/
this.y>ymax?this.y=-10:this.y+=2*movingFlag;
/*Ось х. Вычисляем приращение, основанное на синусе угла, прибавляем его к стартовой координате и перемещаем объект по горизонтали*/
this.x=x0+Math.sin(angle/180*Math.PI)*80;
//Циклично меняем значение угла
angle+=scale*2*movingFlag;
angle%=360;
/*Если задан целевой объект, то проверим пересечение с ним.
Если пересечение есть, то остановим движение*/
targ==null?null:targ.hitTestPoint(this.x, this.y, true)?movingFlag=0:movingFlag=1;
/*Если движение остановлено, уменьшаем счетчик паузы. Когда счетчик обнулится,
возобновим движение, а счетчик обновим */
!movingFlag?stopDelay?stopDelay--:movingFlag=1:stopDelay=speed;
}
}
}
7. Файл - Сохранить как...

2014-10-24_01h18_06 (600x524, 63Kb)

Класс Flake.as готов. Чтобы проверить его, в файле Main.as, вставьте этот код:

package{
import flash.display.*;
public class Main extends Sprite{
public function Main():void{
var sn:Flake=new Flake(new flake0());
sn.x=200;
sn.y=10;
addChild(sn)
}
}
}

Протестируйте ролик. Если вы увидите одинокую снежинку, падающую по синусоиде, то вы всё сделали правильно, можно продолжать дальше, а этот код из Main.as удалить .
8. Вставляем код в главный класс документа Main.as (как, что и для чего почитайте в уроке).
Взять его можно отсюда Вложение

10. Файл - Сохранить как...

2014-10-24_03h03_30 (600x441, 80Kb)
2014-10-24_03h05_30 (625x480, 65Kb)

Протестируйте ролик. Сохраните в fla (файл - сохранить как...) и в swf (файл - экспорт - экспортировать ролик). Вот и всё.
Рубрики:  Фотошоп/Уроки анимации
Метки:  
Понравилось: 1 пользователю