Объектная модель ActionScript
Под объектной моделью понимается совокупность типов объектов, которые могут использоваться в сценарии, и отношения подчиненности между ними.
Напомним, что в языках программирования объект описывается набором атрибутов (свойств) и перечнем методов (процедур), которые могут быть применены, к этому объекту. Для каждого класса объектов определен свой набор атрибутов и методов. Например, для объекта "Кнопка" в качестве атрибутов могут использоваться метка, геометрические размеры, координаты, а в качестве метода – реакция на нажатие кнопки. Конкретный объект – это экземпляр соответствующего класса. Два экземпляра одного и того же класса могут отличаться один от другого значениями атрибутов.
Для описания действий над объектами, а также для указания подчиненности объекта обычно применяется так называемая "точечная нотация". Например, чтобы указать, что к кнопке Button_l следует применить метод onPress(), используется конструкция:
Button_1.onPress()
Если же требуется указать на принадлежность кнопки Button_1 клипу Сliр_2, то запись может выглядеть так:
Clip_2.Button_1
Объектная модель, применяемая в ActionScript, во многом аналогична объектным моделям других сценарных языков (например, JavaScript). Вместе с тем, существуют и определенные различия. Основное из них состоит в том, что в ActionScript иерархия объектов строится относительно Flash-плеера, а не относительно HTML-документа, отображаемого в окне Web-браузера.
Например, если HTML-документ содержит форму Form_l, в которой имеется кнопка Input_1, то в JavaScript "подчиненность" кнопки описывается следующим образом:
Documen t.Widow.Form_1.Input_1
При этом, если обращение к кнопке выполняется из текущего документа, отображаемого в том же окне браузера, то первые два уровня иерархии явно не указываются, а подразумеваются. Соответственно, для обращения к кнопке может быть использована конструкция:
Form_1.Input_1
Аналогичные правила действуют и в ActionScript. Например, чтобы обратиться к клипу, непосредственно вставленному в кадр – основного фильма, можно записать: _root. Clip_l.
Ключевое слово _ root используется в качестве имени основного фильма и в данном случае может быть опущено. Если же клип является частью другого, "родительского", клипа, то для указания его подчиненности может использоваться ключевое слово _parent, например:
_parent.Clip_1
Подробнее вопросы адресации объектов в ActionScript рассмотрены в следующем подразделе.
Теперь вернемся собственно к объектной модели ActionScript.
Как было сказано выше, корневым объектом, неявно присутствующим в любом сценарии, является Flash-плеер. На следующем уровне располагаются четыре класса объектов (рис. 11.2):
- Movie (Объекты фильма);
- Core (Объекты ядра);
- Client/Server (Объекты клиент-серверной среды исполнения);
- Authoring (Объекты среды разработки).
Рис. 11.2. Объектная модель ActionScript