Ну очен?улыбнуло!!!
Анимац? форм?во Flash(морфин?. - (5)Анимац? форм?во Flash(морфин? Морфин?отличает? от предыдущих типо?анимации те?чт?работает...
Урок для Фотошо?" Закрывае?глазки". - (11)От ме? добавк?- Кист?для фотошо?"Ресниц? Вложение: 4167720_eyelashes.rar Смотреть зд?..
Анимац? частей картинки ?помощь?маск?Урок для Adobe Flash. - (2)?комментария??пост?Использовани?анимированно?маск??Adobe Flash.Урок ...
Текстовы?скроллин?средствами флеш. - (0)Текстовы?скроллин? Прокрутк?текста средствами флеш. (Част??..
Снежок «funkSnow? Урок для Adobe Flash CS6. |
code:
package com{
import flash.display.Bitmap;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
/**
* ...
* @author MOHCTEP
*/
[SWF(width=800, height=600, backgroundColor=0x445566)]
public class Main extends Sprite {
//Импорт фоново?картинки
[Embed(source = "../../lib/Photo1.jpg")]
private var bg_img:Class;
public function Main():void {
stage?init():addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
addChild(new bg_img() as Bitmap);//Встави?импортированну?картинку, ка?фо?
// entry point
//Добави?800 снежинок ?дефолтными параметрам? прямо на сцен?br /> for (var i:int = 0; i < 1000; i++) {
addChild(new SnowFlake());
}
//Подпишем? на событи?перемещения мыши
stage.addEventListener(MouseEvent.MOUSE_MOVE, collision);
}
/**
* По движению мыши, сообщи?снег??коллизии.
* @param e - MouseEvent.MOUSE_MOVE
*/
private function collision(e:MouseEvent):void {
dispatchEvent(new Event('collision'));
}
}
}
code:
package com {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.Point;
import flash.geom.Rectangle;
/**
* ...
* @author MOHCTEP
* @version:
* @created: 07.11.2014 21:51
* @description:
* SnowFlake - Пуглив? снежинка :)
* com.SnowFlake
*/
public class SnowFlake extends Sprite {
private var areaSize:Point;//Размер?област?распространения снег?
private var speed:Point;//Скорость ?направлени?полета снежинки.
private var collision:Point;//Направлени??величина силы возмущен?.
private var distance_of_collision_sensitivity:Number;
//Максимальн? дистанция до очаг?возмущен?, пр?которо?снежинка ещ?ем?подвержена.
private var flake:Bitmap;//Ссылка на картинку снежинки. Эт?може?быть MovieClip,Bitmap...
//Необходима лишь для корректног?удален?, возможно зависимого от типа.
private var flakeSize:int;//максимальный 100% размер снежинки
/**
* Конструкто?
* 2 необязательны?аргумент?br /> * @param areaSize - размер област?занимаемой снегом. Если аргумент?не? то област?примет размер проект?
* @param flakeSize - максимальный 100% размер снежинки. По умолчани?= 20 пикселей.
*/
public function SnowFlake(areaSize:Point=null, flakeSize:int=20) {
this.flakeSize = flakeSize;
this.areaSize = areaSize;
stage?init():addEventListener(Event.ADDED_TO_STAGE, init);
}
/**** PRIVATE SECTION ****/
/**
* Обновление параметров снежинки, пр?создании ее ил?выходе за предел?допустимой област?areaSize.
* fly_angle - случайны?угол полета снежинки ?радианах. Здес? ?пределах +-45 градусов от вертикал?
* Масштабируем снежинку ??пределах 30 - 100% от исходног?размер?
* Скорость полета делаем пропорциональной масштабу для придан? неко?перспектив? Разложим ее на вектор??запомним их ?объект?speed.
* Новорожденно?снежинке - никаки?возмущений.
* Ставим снежинку равномерно-случайно по горизонтал??выше област?
*/
private function renewFlake():void {
var fly_angle:Number = Math.random() * Math.PI / 2 + Math.PI / 4;
scaleX = scaleY = .3 + Math.random() * .7;
speed = new Point(Math.cos(fly_angle) * 3 * scaleX, Math.sin(fly_angle) * 3 * scaleX);
collision = new Point();
x = width + (areaSize.x - width * 2) * Math.random();
y = -height - 1;
}
/**** LISTENERS SECTION ****/
/**
* Инициализация снежинки.
* Здес?установи?некоторы?переменные.
* Зате?нарисуем снежинку, ка?размытый белы?кружок.
* Вместо этог? можн?вставить каку?то картинку.
* Ставим снежинку, со случайными свойствами, ?случайно?мест? ?пределах област?areaSize.
* Запускае?ее поле??реакци?на возмущен?
* @param e - Event.ADDED_TO_STAGE
*/
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
addEventListener(Event.REMOVED_FROM_STAGE, destroyer);
// entry point
//Разбираемся ?областью areaSize. Если ?конструкто?ничего не передано, то делаем област?размером со сцен?
areaSize = areaSize?areaSize:new Point(stage.stageWidth, stage.stageHeight);
//"Чувствительн?" дистанция = 10% от наибольшег?из размеров област?
distance_of_collision_sensitivity = Math.max(areaSize.x, areaSize.y) / 10;
/**
* Рисуем снежинку. ?ме? эт?- размытый белы?кружок, размером flakeSize ?flakeSize пикселей.
* Вы же можете нарисовать чт?то свое ил?импортироват?картинку ил?анимацию
*/
addChild(flake = new Bitmap(new BitmapData(flakeSize, flakeSize, true, 0)));
flake.smoothing = true;
//Рисуем белы?квадра?посередине битмапдаты
var square_size:int = int(flakeSize / 2.5), square_border:int = int(flakeSize-square_size) / 2;
flake.bitmapData.fillRect(new Rectangle(square_border, square_border, square_size, square_size), 0xFFFFFFFF);
//?превращаем ег??размытый кружок
flake.bitmapData.applyFilter(flake.bitmapData, flake.bitmapData.rect, new Point(), new BlurFilter(square_border, square_border, 3));
//Задади?снежинке уникальные размер, направлени??скорость полета.
renewFlake();
//?поставим ее ?случайно?мест??пределах област?br /> y = height + (areaSize.y - height * 2) * Math.random();
//Разрешим снежинке лететь
addEventListener(Event.ENTER_FRAME, moveMe);
//?реагироват?на возмущен?.
parent.addEventListener('collision', collisionHandler);
}
/**
* Перемещени?снежинки
* @param e - Event.ENTER_FRAME
*/
private function moveMe(e:Event):void {
//Ме?ем расположение снежинки ?учетом скорости, направления полета ?воздействия силы возмущен?.
x += speed.x + collision.x;
y += speed.y + collision.y;
//Постепенно уменьшае?воздействи?возмущен? на снежинку
collision.x *= .9;
collision.y *= .9;
//Если снежинка недопустим?вылетела за допустимые предел? обнови?ее ?запустим ?поле?заново.
if (x < -width || x > areaSize.x || y > areaSize.y || y < -height * 2) {
renewFlake();
}
//Если сила возмущен? уменьшилас?до пренебрежимо? обнули?ее, чтоб не возить? ?лишней плавающе?точкой
//?разрешим снежинке опять реагироват?на возмущен?.
if (Point.distance(new Point(),collision)<1) {
collision = new Point();
parent.addEventListener('collision', collisionHandler);
}
}
/**
* Реакция на коллизию.
* @param e - Event('collision')
*/
private function collisionHandler(e:Event):void {
if (e.target != parent) return;//Если источник возмущен? не "на?, то ?не реагируе?br /> //Расстояни?до источник?возмущен? (курсор? ?наше?случае)
var collision_distance:Number = Point.distance(new Point(parent.mouseX, parent.mouseY), new Point(x, y));
//Если эт?расстояни?превышае?максимальную дистанци?чувствительности, то снов?проходим мимо...
if (collision_distance >= distance_of_collision_sensitivity) return;
//Сила воздействия обратн?пропорциональн?расстояни?до центра возмущен?
var collision_force:Number = (1 - collision_distance / distance_of_collision_sensitivity) * 2;
//Направлени?(угол) вектор?возмущен?
var collision_angle:Number = Math.atan2((y - parent.mouseY), (x - parent.mouseX));
collision = new Point();
//Разложим вектор возмущен? по ося? ?учетом ег?направления ?силы
collision.x = Math.cos(collision_angle) * collision_force * distance_of_collision_sensitivity;
collision.y = Math.sin(collision_angle) * collision_force * distance_of_collision_sensitivity;
//Запретим на некоторо?время "возмущенно? снежинке реагироват?на коллизии. Пуст?полетает по свое?кривой дорожк?..)
parent.removeEventListener('collision', collisionHandler);
}
/**
* Корректное харакири, посл?удален? со сцен?br /> * @param e - Event.REMOVED_FROM_STAGE
*/
private function destroyer(e:Event):void {
removeEventListener(Event.REMOVED_FROM_STAGE, destroyer);
// remove all listeners, displayObjects, etc...
removeEventListener(Event.ENTER_FRAME, moveMe);
parent.removeEventListener('collision', collisionHandler);
//flake ?на?- Bitmap. Поступае??ни?соответствующе.
flake.bitmapData.dispose();
while (numChildren) removeChildAt(0);
}
}
}
Серия сообщени?"Урок?Flash":урок??разных флешпрограммах, авторски?урок?flashЧаст?1 - Делаем элементарные часики.Начинаем учиться созданию flash.
Част?2 - Ка?правильн?записать ко?флешки ил?виде??рамочк?для кодо?
...
Част?37 - Снегопад ?блёсткам? Урок для Adobe Flash.
Част?38 - Флеш эффект движен? картинок. Флеш галерея «Photo Stack Gallery?
Част?39 - Снежок «funkSnow? Урок для Adobe Flash CS6.
Част?40 - Дополнение ?урок? Снежок «funkSnow?
Част?41 - Программно?вращение 3-d во флеш. Action Script 3.
...
Част?48 - Анимац? частей картинки ?помощь?маск?Урок для Adobe Flash.
Част?49 - Использовани?панели «Редакто?движен???Adobe Flash CS6.
Част?50 - Анимац? форм?во Flash(морфин?.
Серия сообщени?"Флешки Новогодние":
Част?1 - Флешинформер "До Нового Года осталось..."
Част?2 - Создае?флешки ?программ?Aleo Flash Intro Banner Maker.Част?перв?.
...
Част?18 - Календарик??зимнем дизайн?
Част?19 - Флеш эффект движен? картинок. Флеш галерея «Photo Stack Gallery?
Част?20 - Снежок «funkSnow? Урок для Adobe Flash CS6.
Част?21 - Дополнение ?урок? Снежок «funkSnow?
Част?22 - Программно?вращение 3-d во флеш. Action Script 3.
...
Част?25 - Флеш поздравлен? ?Новы?Годо?
Част?26 - Флеш открытка ?015?
Част?27 - ?Новы?Годо?
Комментировать | « Пред. запись — ?дневнику — След. запись » | Страницы: [1] 2 [Новы?/a>] |
Комментировать | « Пред. запись — ?дневнику — След. запись » | Страницы: [1] 2 [Новы?/a>] |