Опубликован: 04.11.2006 | Уровень: специалист | Доступ: платный
Урок 4:

Объекты и их использование

< Урок 3 || Урок 4: 12345 || Урок 5 >
Аннотация: Каждый день вы используете всевозможные объекты для различных целей. Вы можете использовать холодильник, чтобы сохранить продукты свежими, а можете использовать картонную коробку, чтобы положить в нее пирог от тетушки Салли. Объекты – это изделия, созданные для каких-либо надобностей. Они могут использоваться для выполнения специальных задач (например, видеомагнитофон для просмотра или записи фильмов), или как простые хранилища, вроде той же картонной коробки.

Объекты Macromedia Flash похожи на объекты реального мира. Каждый тип объектов Flash соответствует тем или иным надобностям вашего Flash-приложения. В этом уроке мы познакомим вас с объектами Flash и поможем вам получить опыт их применения.

Внимание! Для работы с этим уроком необходимы учебные файлы, которые Вы можете загрузить здесь.

Что будет изучаться

В этом уроке:

  • Что такое объекты и зачем они нужны
  • Знакомство с различными объектами ActionScript
  • Использование объекта Color
  • Создание интерактивной сцены с использованием объекта Key
  • Создание текстового редактора с использованием свойств и методов объектов String и Selection

Этот текстовый редактор, созданный во Flash, станет одним из проектов, которые мы создадим в этом уроке

Время выполнения

На выполнение этого урока требуется примерно 45 минут.

Файлы урока

Файлы-носители:

Нет

Стартовые файлы:

Lesson04/Assets/Clown1.fla
Lesson04/Assets/balloon1.fla
Lesson04/Assets/wordProcessor1.fla

Законченные проекты:

lesson4/completed/Clown2.fla
lesson4/completed/balloon2.fla
lesson4/completed/wordProcessor2.fla

Что такое обьекты и зачем они нужны

Вообразите на минутку, что вы – плотник. При постройке дома вам придется воспользоваться некоторыми готовыми объектами. Чтобы сколотить дверную раму, вам понадобится несколько брусьев, молоток и пригоршня гвоздей – все это объекты, обладающие определенными свойствами, которые дают возможность выполнить вашу работу. Порой вы даже не очень представляете себе, как именно работает объект (ну, взять хоть бетономешалку) – вы "даете" объекту некий материал, а он выдает вам нечто совсем другое.

Такой же смысл и у объектов Flash: это элементы, используемые особым способом для построения приложения или выполнения определенной задачи. Считайте, что объекты – это инструменты и строительные материалы для вашего проекта.

В ActionScript имеется множество объектов для различных целей. Однако, если вдруг объекта, отвечающего вашим нуждам, не найдется, вы можете создать свой собственный и запрограммировать его так, как вам нужно.

Объектам присущи атрибуты двух основных разновидностей: свойства и методы. Рассмотрим подробнее то и другое.

Свойства

Многие (хотя и не все) объекты имеют свойства – набор переменных, представляющих характеристики объекта. Например, в реальном мире автомобиль обладает такими свойствами, как цвет, марка, модель, мощность и так далее. Если бы этот автомобиль был объектом ActionScript, он мог бы быть описан так:

car.color = "red";
car.make = "Volkswagen";
car.model = "Beetle";
car.horsepower = 100;

Во Flash различные объекты могут иметь разные свойства. Например, объект MovieClip обладает свойствами, определяющими его прозрачность, видимость, позиции по горизонтали и вертикали, угол поворота и еще многими. Изменение какого-либо из этих свойств влияет на внешний вид фильма-символа или его поведение, – так же, как влияет на автомобиль покраска или замена двигателя. В своих скриптах вы можете в любое время использовать или изменить значения свойств объектов. Предположим, в вашем проекте автомобиль должен перемещаться со скоростью, зависящей от мощности его двигателя. Соответствующая строка скрипта могла бы выглядеть так:

speedFactor = car.horsepower;

Давайте рассмотрим еще один пример использования свойств объекта в ActionScript.

Длина строки есть свойство объекта String (строка). Например, длина строки "Flash" равна 5, так как она содержит пять символов. В ActionScript мы могли бы написать так:

name = "Flash";
lengthOfName = name.length;

В первой строке этого кода создается переменная с именем name, которая получает значение строкового типа "Flash". Во второй строке создается переменная с именем lenghtOfName, и ей присваивается значение свойства length объекта name (которое равно 5). Названия свойств фильма-символа обычно начинаются с символа подчеркивания ( _alpha, _rotation и так далее), однако это не является общим правилом для названий свойств объектов. Дело в том, что этот обычай перекочевал из Flash 4; тогда свойства только еще вводились и ActionScript сильно отличался от нынешнего.

Примечание Свойства объектов бывают разных типов – это могут быть переменные, массивы и даже другие объекты.

Методы

Метод представляет собой задачу, которую способен выполнять объект. Если считать видеомагнитофон объектом, то к его методам будут относиться воспроизведение, запись, стоп, перемотка вперед и назад, пауза и тому подобное. В ActionScript после имени метода ставятся круглые скобки. Методы нашего объекта-видеомагнитофона записывались бы так:

play();
rewind();
record();

Чтобы вызвать метод объекта, нужно сначала указать сам объект (или имя экземпляра объекта – что это значит, мы сейчас объясним), затем ставится точка, затем – имя метода:

myVCR.record();

Это будет указание объекту с именем myVCR начать запись.

Скобки, стоящие после имени объекта, могут заключать в себе параметр или набор параметров. Параметры – это сведения, позволяющие методу выполнить свою задачу некоторым определенным образом. Вновь используем в качестве примера видеомагнитофон. Допустим, вы хотите записать телепередачу по 8 каналу с 10 до 11 часов 9 сентября. Скрипт для выполнения такой задачи мог бы выглядеть так:

myVCR.record (8, 10:00, 11:00, September 9);

Как видите, параметры метода отделены друг от друга запятыми. Значения параметров могут быть заданы прямо (как в приведенном примере), либо в качестве значений параметров можно подставить динамические значения – скажем, переменные. В качестве параметра можно даже использовать другой метод.

Многие объекты ActionScript могут принимать параметры, однако далеко не все. Некоторые простейшие задачи не требуют каких-то дополнительных настроек. Например, метод stop() объекта MovieClip просто останавливает воспроизведение монтажного стола – тут нечего ни прибавить, ни убавить.

Каждый тип объекта имеет уникальный набор методов – оно и понятно, ведь все объекты выполняют специфические задачи.

Методы объектов в ActionScript приспособлены для выполнения всевозможных задач, включая:

  • Получение и присвоение значений (смотри далее)
  • Выполнение преобразований (например, преобразование отрицательного числа в положительное)
  • Проверка чего-либо на истинность
  • Активация или деактивация чего-либо
  • Манипулирование чем-либо (например, текстом или числами)

В этом уроке мы продемонстрируем некоторые из этих задач, а еще много больше – в ходе всего курса.

Примечание Объект не обязательно должен содержать свойства и методы. Однако какое применение мог бы найти объект без свойств и методов?

Типы объектов

Объекты организованы по классам, которые представляют собой группы объектов, имеющих схожие свойства и методы. В реальном мире автомобили представляют собой один класс объектов, а рыбы, книги, даже люди – другие классы. Каждый из 6 миллиардов людей на этой планете может рассматриваться как экземпляр класса Человек. Хотя каждый человек уникален, всем людям присущи схожие свойства (имя, возраст, цвет волос, рост и тому подобное) и виды деятельности (дыхание, ходьба, осязание, зрение и так далее). Поскольку каждый новый созданный вами экземпляр фильма-символа является экземпляром объекта MovieClip, он наследует все свойства и методы, присущие этому классу объектов.

Практически любой проект содержит по нескольку экземпляров одного класса объектов – например, объекта MovieClip, о котором мы только что говорили, или объекта String (ведь проект может содержать много разных символьных строк, и каждая из них будет экземпляром объекта String ). Другие объекты являются универсальными, или глобальными – это значит, что проект может содержать лишь один экземпляр такого объекта. Таков, например, объект Mouse (мышь), который, помимо прочего, управляет "видимостью" указателя. Поскольку указатель может быть только один, вы не можете создать несколько экземпляров мыши, а можете лишь использовать присущие этому объекту методы.

Создать экземпляр объекта можно двумя способами. Чтобы создать новый экземпляр объекта MovieClip, достаточно поместить на сцену фильм-символ. Однако такой способ пригоден лишь для некоторых (немногочисленных) типов объектов. Для создания экземпляров объектов других типов необходимо использовать конструктор – это довольно простая строка кода, приказывающая Flash создать новый экземпляр определенного объекта. Конструктор выглядит так:

имяЭкземпляра = new имяОбъекта();

Так, если мы хотим создать экземпляр объекта Sound (звук), конструктор будет примерно таким:

mySoundInstance = new Sound();

Каждый раз, создавая экземпляр объекта, вы должны присваивать ему имя, уникальное для данного проекта. Это позволит изменить свойство или вызвать метод, соответствующий конкретному экземпляру – в последующих примерах мы это продемонстрируем. Поднабравшись опыта в программировании, вы поймете, когда следует использовать конструкторы.

Примечание Для имен объектов действуют те же ограничения, что и для имен переменных; то есть имена не должны содержать пробелов, специальных символов и не должны начинаться с цифры.

Совет Во Flash вы можете присоединять к имени объекта специальные суффиксы, способствующие получению подсказок в панели Действия. Например, вы можете назвать экземпляр фильма-символа myMovieClip, а можете с суффиксомmyMovieClip_mc. В последнем случае панель Действия будет понимать, что это имя соответствует объекту определенного типа и при вводе скриптов вы будете получать раскрывающийся список, содержащий имена всех свойств и методов, присущих этому объекту. Полный список суффиксов вы можете найти в Словаре ActionScript (ActionScript dictionary).

В списке панели Действия, в разделе Objects, вы сможете найти все объекты Flash. Они разбиты по следующим подразделам:

  • Core. Эти объекты отвечают за хранение информации и манипулирование ею, исключая процессы обмена информацией с внешними источниками.
  • Movie. Эти объекты отвечают за визуальное содержание и системные параметры – фильмы-символы, текстовые поля, сцена и права доступа.
  • Client/Server. Эти объекты контролируют обмен информацией между Flash и внешними источниками.
  • Authoring. Эти объекты помогут вам при создании собственных команд и компонентов.

Далее приводится описание многих классов объектов ActionScript, а также советы по их использованию. При этом указано, является ли объект глобальным или же нужно создавать его экземпляры

< Урок 3 || Урок 4: 12345 || Урок 5 >
Салтанат Бектегенова
Салтанат Бектегенова

Дострочное пересдача экзамена

 

Евгений Стародубцев
Евгений Стародубцев

Вот задание:

7. Открыв панель Действия (Actions) и установив ее в Экспертный режим(Expert Mode), выделите кадр 1 слоя Actions и введите следующий скрипт:

Евгения Дегтяренко
Евгения Дегтяренко
Украина, Запорожье
Анна Елисеева
Анна Елисеева
Россия, Великий Новгород, Ногородский государственный университет имени Ярослава Мудрого, 2003