shapka(2220x300)
Меню сайта
Категории раздела
галереи [19]
календари [6]
часы [8]
навигаторы и меню [7]
игры мои [8]
шлейф за курсором [3]
работы с масками [4]
мои плееры [8]
разное [7]
флеш открытки [47]
мои пояснения к урокам [5]
фоны [1]
салют [3]
сфера [1]
флеш эффекты [41]
курсоры [2]
кнопки [4]
уроки [1]
Главная » Статьи » Флеш » мои пояснения к урокам

Снегопад с прилипанием
Оригинальный урок

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

снег с прилипанием 2 (696x519, 5971Kb)

!. Создайте новый документ с нужными размерами (у меня 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 (файл - экспорт - экспортировать ролик). Вот и всё.

Категория: мои пояснения к урокам | Добавил: томичка (16.01.2015)
Просмотров: 296 | Теги: флеш, уроки, мои пояснения к уроку | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Посещаемость
КОД БАННЕРА

Форма входа
Радио онлайн

Календарь
Соц.сети
Copyright MyCorp © 2024Создать бесплатный сайт с uCoz
Анимация.GIF - Leyla Анимация.GIF - Leyla Все для ВасАнимация.GIF - Leyla Анимация.GIF - Leyla  Skandalikaва копилка  fleshmagik - Флеш анимации Музыкальные открытки3 (88x42, 191Kb) Kubines - Оформление системы  Flash Magic - Флеш анимации DiZona – все для Photoshop SuprGif - Самая лучшая анимацияАнимация.GIF - Elza