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

Создание и модификация объектов

Аннотация: Многие из нас на уроках в школьной мастерской узнали, что при работе нужно пользоваться инструментом, именно для этой работы предназначенным – иначе или заготовку испортишь, или, что еще хуже, сам себя изувечишь. А что же делать, если инструмента, отвечающего вашим требованиям, не существует? Что ж, когда Генри Форд начинал производство автомобилей на конвейере, он не мог заказать готовые детали и инструменты для своей сборочной линии; он создавал их сам –либо модифицируя существующие инструменты, либо конструируя совершенно новые.
Ключевые слова: ActionScript, flash, приложение, встроенный объект, construction, face, объектно-ориентированное программирование, отношение родитель/потомок, класс объекта, подкласс, инструментальное окно, sound, trace, список переменных, принцип построения, очередь, объект, string, Object, класс, выход, output, значение, undefined, скрипт, доступ, MovieClip, memory, массив, синтаксис, потомок, компьютер, объявление функции, конструктор, ПО, функция, шаблон, удобочитаемость, информация, команда, слово, адрес, prototyping, поиск, исключение, непосредственная адресация, связь, надкласс, суперкласс, путь, место, отношение, наследование, play, ссылка, параметр, tone, локальная переменная, выражение, переменная, реакция, conditioning, имя переменной, имя функции, this, создание пользователя, background, логотип, head, поле, Actions, glass, XML, mouse, мышь, указатель, math, rounding, параметр функции, random, координаты, кадр, встроенные классы, flip, mode, регистр, вероятность, ресурс, файл, имя файла, mx/s, identifier, rollover, регистрация, attachMovie, пользователь, icon, идентификатор, опция, export, First, i-frame, ключевой кадр, hit, State, scale, amount, программирование, идентификатор связи, go, scene, вызов метода, пункт, initclip, память

Нам, ActionScript’ерам, порой приходится делать то же самое: раз мы создаем новое Flash-приложение, обычные инструменты программирования (встроенные объекты Flash) могут не очень-то отвечать нашим надобностям. В таком случае мы закатываем рукава и создаем свои собственные – а значит, вы должны знать механику, общие принципы того, как работают объекты в ActionScript.

В этом уроке, программируя приложение Construct a Face (Составь лицо), вы узнаете немало о принципах объектно-ориентированного программирования.

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

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

В этом уроке:

  • Что такое объекты и какова их польза
  • Создание отношений родитель-потомок, когда один объект содержит в себе другой
  • Создание собственного класса объектов
  • Работа с объектом-прототипом класса
  • Создание подкласса объектов
  • Отслеживание свойства объекта
  • Создание новых методов объекта
  • Усовершенствование методов встроенных объектов Flash
  • Создание новых методов для встроенных объектов Flash
  • Регистрация фильма-символа как объекта нового класса, для наследования экземплярами этого фильма специфических функциональных возможностей

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

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

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

Файлы урока

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

Нет

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

Lesson06/Assets/object1.fla
Lesson06/Assets/class1.fla
Lesson06/Assets/objectProject1.fla
Lesson06/Assets/registerClass1.fla

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

object2.fla
class4.fla
objectProject4.fla
registerClass2.fla

Разъяснение механики объектов

В Уроке 4 мы познакомили вас со встроенными объектами Flash (объекты, перечисленные в инструментальном окне панели Действия). В том уроке мы с вами создавали экземпляры встроенных объектов, изменяли их свойства и использовали различные методы, заставляя объекты выполнять те или иные задачи. Думается, в процессе этого вы вошли во вкус, почувствовали, насколько объекты облегчают построение интерактивных проектов. Однако тогда мы не могли объяснить, почему объекты работают именно так, а не иначе – сначала вы должны были познакомиться с функциями, поскольку именно они играют важнейшую роль в деле создания и модифицирования объектов. Теперь, изучив функции (это было в Уроке 5), вы готовы приступить к кропотливому, но жизненно необходимому делу создания и изменения объектов.

Создание экземпляров объектов и классов объектов – в чем разница?

Чувствую, сейчас кто-нибудь скажет: "Мы же уже создавали объекты и модифицировали их в четвертом уроке, теперь что, опять то же самое?" Да, в Уроке 4 вы создавали экземпляры встроенных объектов (например, экземпляр объекта Color) – объектов, которые созданы заранее, встроены в ActionScript, которые можно сразу использовать. Мы показали вам различные классы встроенных объектов Flash ( Array, Color, Date, String, Sound и т.д.), но мы не говорили ни о том, как создать свой собственный класс объектов (то есть новый инструмент вашей разработки), ни о том, как расширить возможности существующих. Возвратимся к прежней аналогии: когда был изобретен автомобиль, был создан новый класс объектов – класс Автомобиль. Объекты этого класса имели двери, руль, фары и все такое прочее. Теперь, когда новый автомобиль сходит с конвейера, создается новый экземпляр класса Автомобиль, но не новый класс объектов. Новый класс объектов будет создан тогда, когда кто-нибудь разработает, например, индивидуальный летательный аппарат, и назовет этот класс, скажем, Флайер. После этого с конвейера начнут сходить экземпляры объекта Флайер. Вскоре мы обсудим эту концепцию детально, а пока важно уяснить, что класс – это просто описание того, из чего состоит объект, как он работает; это, если хотите, чертеж, проект. По этому чертежу создаются экземпляры. В конечном итоге нужно и то, и другое – без чертежа не создашь экземпляр, но и чертеж без реального экземпляра бесполезен.

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

Концепция построения и работы объектов есть вещь довольно-таки абстрактная, поэтому упражнения в нескольких следующих разделах будут несколько отличаться от прочих. В большинстве упражнений из этой книги вы имеете дело с вещами зримыми и осязаемыми – обычно это графические элементы, которыми вы манипулируете в проекте. В следующих упражнениях действие будет происходить по большей части за сценой. Здесь нам придется пользоваться действием trace и командой меню (в среде тестирования Отладка > Список переменных (Debug > List Variables), чтобы увидеть данные, существующие в фильме в ходе воспроизведения, но на экране не отображаемые. С действием trace вам прежде приходилось встречаться, но, чтобы все было ясно, посмотрите на этот синтаксис:

trace(_root._totalframes);

Если это действие поместить в первый кадр фильма, состоящего из 47 кадров, то при тестировании фильма автоматически откроется окно Выход ( Output ) и в нем отобразится:

47

Это простое действие очень пригодится нам при изучении работы объектов.

Что ж, начнем.

Примечание Если вы знакомы с принципами построения и работы объектов, можете сразу перейти к разделу "Отслеживание свойств".

Салтанат Бектегенова
Салтанат Бектегенова

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

 

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

Вот задание:

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

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