Создание внешних классов на ActionScript 3.0

Content on this page requires a newer version of Adobe Flash Player.

То, что мы получим в конце нашего урока, вы можете наблюдать выше. :) Флешролик использует один внешний класс и всего пару строчек кода в первом кадре линии времени (TimeLine). Так что бояться тут нечего. :)

Начнем с подготовки элементов:

1. Создайте новый *.fla файл, назовите его, как вам больше нравится и сохраните его где-нибудь на диске в удобном для вас месте.

2. Нарисуйте первое, что придет вам в голову, конвертируйте ваше художество в MovieClip и не забудьте задать имя своему МувиКлипу, например, Spiral, и поставить точку регистрации МувиКлипа в центре. ;) Если кто-то забыл, как это делается, напомню: горячая клавиша F8 или главное меню Modify -> Convert to Symbol.

3. Теперь идем в библиотеку (Library). Находим там наш мувиклип. Это будет несложно, так как он там один. :) Если кто забыл, то в библиотеку можно попасть с помощью горячих кнопок Ctrl+L или через меню Window -> Library. Кликаем в библиотеке по нашему МувиКлипу правой кнопкой мыши и в появившемся меню выбираем пункт "Properties", что значит "Свойства". В появившемся окне в поле Class привязываем наш МувиКлип к нашему будущему классу Spiral. Если кто-то в упор не видит поля Class, то пусть нашмет кнопку Advanced в этом окне. :) После всего нажимаем ОК и не обращаем внимания на то, что флеш начинает ругаться. Ругается он потому, что мы еще не создали наш класс Spiral, поэтому флеш его не может найти.

4. Удалим экземпляр нашего МувиКлипа из рабочей области. Если кто забыл, то рабочая область - это то самое белое прямоугольное пространство, в котором вы рисовали свой МувиКлип. :) В рабочей области он нам не понадобится, так как добавляться туда наш МувиКлип будет при помощи кода, который вы узнаете ниже.

Создание внешнего класса:

Вот мы и дошли до того, ради чего все здесь собрались - создание внешнего класса. :)

1. Нажимаем горячие клавиши Ctrl+N или идем в меню File -> New. Перед нами появляется окошко. Правда красивое? :) Выбираем в этом окне пункт "ActionScript 3.0 Class" и жмем ОК. Появляется новое белое чистое красивое окно, в которое мы сейчас запишем кучу кода, сохраним и получим свой первый внешний рабочий класс.

А вот и тот самый код:

package {
 
 import flash.display.MovieClip;
 import flash.geom.ColorTransform;
 import flash.events.*;
 
 /*
 Этот класс представляет МувиКлип, который мы добавили к stage.
 Мы расширяем этот класс до класса MovieClip, чтобы использовать все свойства и функции класса MovieClip.
 */
 public class Spiral extends MovieClip {
 
 private var spiralColor:uint;
 private var spiralRotation:Number;
 
 /*
 Это конструктор класса.
 Он вызывается каждый раз при создании нового экземпляра класса Spiral.
 В конструкторе мы задаем рандомный цвет спирали и задаем некоторые свойства.
 */
 public function Spiral () {
 
 //Расчитываем рандомный цвет.
 this.spiralColor = Math.random() * 0xffffff;
 
 // Получаем доступ к ColorTransform нашей спирали.
 var colorInfo:ColorTransform = this.transform.colorTransform;
 
 // Задаем цвет объекту ColorTransform.
 colorInfo.color = this.spiralColor;
 
 // Применяем цвет к нашей спирали.
 this.transform.colorTransform = colorInfo;
 
 // Задаем рандомное значение прозрачности нашей спира.
 this.alpha = Math.random();
 
 //Задаем рандомную скорость вращения спирали.
 this.spiralRotation =  Math.random() * 10 - 5;
 
 // Задаем рандомный размер спирали.
 this.scaleX = Math.random();
 this.scaleY = this.scaleX;
 
 // Назначаем слушатель для функции вращения спирали.
 addEventListener(Event.ENTER_FRAME, rotateSpiral);
 }
 
 // Эта функция вращает спираль.
 private function rotateSpiral(e:Event):void {
 this.rotation += this.spiralRotation;
 }
 }
}

2. Сохраните этот класс под именем Spiral.as рядом со своим *.fla файлом. Это очень важно! Иначе никакой магии не получится и все заклинания будут бессильны. :) Название файла класса всегда должно совпадать с названием самого класса.

3. Теперь перейдите обратно в *.fla файл. Зайдите в TimeLine (Ctrl+Alt+T или Window -> TimeLine). Кликните в первый кадр и перейдите в окно Actions (F9 или Window -> Actions). Напишите там следующий код:

/*
Создаем сто спиралей в рандомных координатах.
Все спирали ведут себя так, как мы описали во внешнем классе Spiral.
*/
for (var i = 0; i < 100; i++) {
 var spiral:Spiral = new Spiral();
 spiral.x = stage.stageWidth * Math.random();
 spiral.y = stage.stageHeight * Math.random();
 addChild (spiral);
}

Нашмите Ctrl+Enter или меню Control -> Test Movie -> Test и протестируйте ролик. Та-дам! Теперь можете гипнотизировать кого угодно. :)

Спасибо за внимание.

Исходник: 

Похожие записи

Комментарии

Аватар пользователя Rell

Я понял только то что ничего не понял

meeting

Аватар пользователя redroze

Это тебя загипнотизировал урок

mosking

 

на самом деле все понятно. только класс можно было проще создать. В поле, где мы нашему муви клипу писали про класс Spiral. справа от этой строчки есть карандашек. если на него нажать, то попадешь в файл с описанием этого класса, куда надо будет просто вставить весь этот код про класс и сохранить потом. = ) секунды, но экономятся)))

Аватар пользователя citory

Наконец-то сделали полное руководство по flash.
В этих 110 уроках показывается как имортировать файлы из after effects  в flahs?

Аватар пользователя XR-450

получилось) круто

Аватар пользователя сondor

Да, неплохо...

Аватар пользователя jackkakos

а как добавить во внешний функцию того чтобы они не только вращались вокруг своей оси но и перемещались в пространстве.Заранее спасибо

Аватар пользователя DRACTION

dance2