ActionScript обектен модел

Обектният модел е набор от типове обекти, които могат да се използват в скрипт и връзки на подчинение между тях.

Спомнете си, че в езиците за програмиране обектът се описва чрез набор от атрибути (свойства) и списък от методи (процедури), които могат да бъдат приложени към този обект. Всеки клас обекти има свой собствен набор от атрибути и методи. Например за обект Button като атрибути могат да се използват етикет, геометрични размери, координати, а като метод може да се използва реакция при натискане на бутон. Конкретен обект е екземпляр на съответния клас. Два екземпляра от един и същи клас могат да се различават един от друг по стойности на атрибути.

За да се опишат действията върху обекти, както и да се посочи подчинеността на даден обект, обикновено се използва така наречената "точкова нотация". Например, за да посочите, че методът onPress() трябва да се приложи към бутона Button_l, използвайте

Ако се изисква да се посочи, че Button_1 принадлежи на Clip_2, тогава записът може да изглежда така:

Документ t. вдовица. Формуляр_1. Вход_1.

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

Подобни правила важат за ActionScript. Например, за да посочите клип, който е директно вмъкнат в основния филмов кадър, можете да напишете: _root. Clip_l.

Ключовата дума _root се използва като име на основния филм и може да бъде пропусната в този случай. Ако клипът е част от друг, "родителски" клип, тогава за да се посочи неговата подчиненост,използвайте ключовата дума _parent, например:

Сега нека се върнем към самия обектен модел на ActionScript.

Както бе споменато по-горе, основният обект, присъстващ имплицитно във всеки сценарий, е Flash player. На следващото ниво има четири класа обекти (фиг. 11.2):

  • Филм (Филмови обекти);
  • Ядро (обекти на ядрото);
  • Клиент/Сървър (Обекти на средата за изпълнение клиент-сървър);
  • Авторство (обекти на средата за разработка).

Ориз. 11.2. Обектен модел на ActionScript

Обектите на класа Movie ви позволяват да представяте връзки между филмови елементи (т.е. структурата на филм) в скрипт и да контролирате свойствата и поведението на филмовите елементи. Този клас включва по-специално следните обекти:

  • Button – Обект, който представлява бутон в скрипт; за такъв обект, например, редът на настройка на входния фокус може да се променя динамично;
  • MovieClip (Клип) - обект, представляващ клип в скрипта; може динамично да променя например броя на подклиповете;
  • Мишка - обект, който представлява показалеца на мишката в скрипта; позволява ви да контролирате видимостта и стила на показалеца;
  • Ключ (Клавиатура) - обект, представляващ в скрипта клавишите, използвани за управление на филма;
  • Цвят (Color) - обект, който представлява палитрата на клипа в скрипта и съответно ви позволява да промените тази палитра;
  • Звук (Звук) - обект, представляващ - в скрипта звуковия символ, свързан с бутона или клипа;
  • Етап (таблица) - обект, предназначен да контролира някои параметри на таблицата (по-специално мащаба на изображението);
  • TextField (Текстово поле) - обект,представяне на динамично текстово поле или поле за редактиране в скрипт;
  • TextFormat (Текстов формат) - обект, който ви позволява да контролирате настройките на шрифта на текстовото поле от скрипта.

Дефинирането на връзки на подчинение между Button и MovieClip обекти в ActionScript е трудно: те могат да се променят от един филм в друг и дори от една сцена в друга. Например, в една сцена бутон може да бъде част от клип, а в друга клип може да се използва за „анимиране“ на изображението на бутона, докато останалите обекти от класа Movie (с възможното изключение на TextField ) могат да се считат за подчинени на обектите Button и MovieClip, тъй като те могат да бъдат част от тях, но не и обратното.

Обърнете внимание, че ActionScript не предоставя съответен клас обект нито за рамка, нито за филмова сцена. Това е така, защото ActionScript не ви позволява да промените нито едно от свойствата на тези филмови елементи. С помощта на скрипт можете да се обърнете към кадър (сцена) само по неговото име или номер, както и да проверите дали е зареден или не. Обикновено кадър или сцена се използват като параметри за действия и методи. Например, за да преминете към кадър 20, можете да напишете действието gotoAndPlay(20).

Обектите от клас Core са предназначени за работа с филмови обекти и имат спомагателна роля. Те трябва да се използват, когато стандартните методи не са достатъчни за манипулиране (промяна на свойствата) на филмови обекти. Класът Core включва по-специално следните обекти:

  • Math (Mathematics) - обект, използван в скрипта за работа с числови стойности; за разлика от всички други класове в езика ActionScript, обектът Math също е единственият екземпляр на този клас; т.е. методиот този клас може да се приложи директно към обекта Math; например, за да получите стойността на косинус чрез метода cos, можете да напишете: Math.cos(3)\
  • Число (Number) - обектът, предвиден за извършване на някои специални операции с числови стойности; например може да се използва за определяне на най-голямото число в определен диапазон;
  • String (Line) - обектът, използван в скрипта за работа с низове;
  • Дата - Обект, използван в скрипт за работа с календарни дати и часове.

Обектите от класа Client/Server са проектирани да работят с документи (уеб страници), написани на XML. Някои от тези обекти обработват зареждането, обработката и препращането на XML документи, докато други обработват връзките на сокет. По този начин ActionScript реализира поддръжка за сървърна обработка на XML документи, съдържащи Flash филми.

Обектът на класа Authoring е предназначен да контролира параметрите на средата за разработка на Flash филм. Има два основни метода: инсталиране и деинсталиране.