к оглавлению Flash   Алгоритмизация   4GL - визуальные среды мультимедийные технологии  

Мультимедийный скриптовый язык ActionScript

Глоссарий в примерах

В этом глоссарии вы найдете простейшие примеры применения поддерживаемых в программе Flash операций, операторов, функций и свойств в сценариях кнопок и кадров. Приводится также краткое словесное описание всех конструкций. Глоссарий рекомендуется использовать как краткий справочник по конкретным конструкциям языка ActionScript, но не как систематическое описание средств этого языка.

Основные операции

В данном разделе собраны сведения об операциях, включенных в список Basic Actions (Основные операции) панели операций.

ВНИМАНИЕ

В этой книге термины «операция» (action) и «инструкция» (statement) используют-ся как полные синонимы. Они взаимозаменяемы во всех контекстах.

FSCommand. Передает проигрывателю фильмов команду категории FS Command.

fscommand("allowscale", true);

fscommand("fullscreen", true);

Get URL. Осуществляет переход по заданному адресу URL; соответствующая страница открывается в окне, задаваемом необязательным параметром.

on(release) {

getUrl("http://www.sandlight.com". _self); }

Go To. Осуществляет переход (с последующим воспроизведением или остановкой) к кадру, заданному номером или меткой.

gotoAdnPlay(7);

gotoAndStop("Score");

If Frame Is Loaded. CM. ifFrameLoaded в разделе «Прочие операции».

Load Movie. Загружает фильм, находящийся по указанному адресу URL, на заданном уровне либо производит загрузку этого фильма в заданный клип. Если новый фильм должен быть размещен на том же уровне, где находится фильм, осуществляющий операцию загрузки, загружаемый фильм вытесняет его.

on(release) {

loadMovieC'WhislingSmith.swf", 1);

}

On Mouse Event. Подключает сценарий обработки события мыши или клавиатуры. В качестве обработчика события выступает инструкция, заключенная в фигурные скобки ({}).

on(release) {

inloadMovie(44);

}

on (press) {

} on(releaseOutside) {

} on(rollOver) {

}

on (roll Out) {

} on(dragOver) {

} on(dragOut) {

}

on(keyPress "B") {

}

Play. Воспроизводит фильм. У этой операции нет никаких параметров.

play();

Stop. Останавливает воспроизведение фильма. У этой операции нет никаких параметров.

stop();

Stop All Sounds. Полностью отключает воспроизведение звука в фильме.

stopAllSounds();

Tell Target. Данная операция служит для передачи команды клипу. Кроме того, она позволяет передать команду другой киноленте. Эта операция обладает рядом недостатков, за которые ее критикуют многие разработчики. Второй из приведенных ниже примеров демонстрирует предпочтительное альтернатив- ное решение, позволяющее обойтись без данной операции, — применение механизма адресации. Помимо этого, в настоящее время вместо операции Tell

Target рекомендуется использовать инструкцию with.

on(release) {

tellTarget(_root.Mccool) { gotoAndStop(10);

}

on(release) {

_root.Mccool .gotoAndStop(10);

}

Toggle High Quality. Позволяет включать и отключать режим сглаживания неровностей экранных шрифтов. У этой операции нет никаких параметров.

on(press) {

toggleHighQuality();

}

Unload movie. Позволяет выгрузить любой фильм, находящийся на заданном уровне. При этом нет необходимости указывать адрес URL выгружаемого фильма.

on(release) {

unloadMovie(l);

}

Прочие операции

В данном разделе собраны сведения об операциях, включенных в список Actions (Операции) панели операций.

break. Прекращает выполнение цикла. В следующем примере значение переменной box будет равно 7.

on(release) {

do {

k = k+1; if (k>6) { break;

}

} while (k<9);

box = k; . }

call. Вызывает сценарий определенного кадра, причем сам целевой кадр при-выполнении данной операции не открывается. Сценарий как бы «берется напрокат». У этой операции всего один параметр, в котором задаются имена клипа и кадра. Имя кадра предваряется двоеточием. (В настоящее время вместо операции call рекомендуется использовать механизм пользовательских функций.)

on(release) {

call("_root.script:fade"); }

comment. Позволяет вставлять в текст сценариев комментарии. Комментарии никак не влияют на ход выполнения сценария. Начало комментария обозначается в тексте программы двойным слэшем (//).

//При добавлении нового клипа здесь понадобится внести изменения

continue. Эта операция до некоторой степени схожа с операцией break. Однако в отличие от последней она прекращает выполнение не всего цикла, а лишь текущей его итерации. В приведенном ниже примере переменная box получит значение 9.

on(release) {

do {

k = k+1; if (k>6) {

continue;

} } while (k<9);

box = k; }

delete. Удаляет указанную переменную или заданный объект и в случае успешного выполнения возвращает значение true. delete(k);

do while. Тело цикла будет исполняться до тех пор, пока не выполнено условие выхода из цикла. Инструкции, заданные в фигурных скобках в конструкции do {...}, будут повторно выполняться до тех пор, пока условие, заданное в скобках в конструкции while (...), остается истинным. Это цикл с постусловием, то есть тело цикла обязательно будет выполнено хотя бы один раз (ср. while).

on(release) {

do {

k = k+1:

} while (k<9):

box = k: }

duplicateMovieClip. Создает копию клипа с заданным именем экземпляра. Требуется указать уровень и имя нового экземпляра.

on(rollOver) {

_root.mcCool .duplicateMovieClip("moreCool", 1);

moreCool ._x=10;

}

else. Данная операция позволяет задать альтернативную последовательность действий для инструкции if. Эти действия будут выполняться при ложном значении условия.

if (k != 8) {

gotoAndPlay(l); } else {

gotoAndPlay(7);

}

else if. Позволяет задать для инструкции if дополнительное условие, значение которого будет проверяться при ложном основном условии.

if (k != 8) {

gotoAndPlay(l); } else if (name=="Джордж") {

gotoAndPlay("KMHr");

}

for. Позволяет организовать цикл, в котором предусмотрены начальная инструкция присваивания и условие завершения, как правило, связанные со значением переменной — параметра цикла, причем значение этой переменной увеличивается в инструкции инкремента на каждом шаге цикла. Постфиксная форма инкремента (<иня переменной>++) соответствует увеличению значения переменной после выполнения тела цикла, а префиксная форма (++<имя переменной>) — перед его выполнением.

on(release) {

for (k=l: k<10; k++) { box = k;

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

on( release) {

dog = {breed: 'спрингер-спаниэль' . class: 'старшие'. name: 'Боги'};

for (breed in fog) {

out += dog[breed]+newline;

}

На выходе мы получим следующее значение переменной out:
спрингер-спаниэль старшие Боги

FSCommand. См. раздел «Основные операции».

function. Определяет функцию — набор операций, которые будут выполняться в рамках некой новой команды. Определение функции задает этот набор, но не приводит к немедленному выполнению входящих в него операций. (Вызов функции в настоящее время рекомендуется использовать вместо операции call.)

function tiltlt(tiltV) {

_root.myclip. rotation=tiltV; }

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

on(release) {

tiltlt(35): }

getURL. См. get URL в разделе «Основные операции». gotoAndPlay. См. Go To в разделе «Основные операции». gotoAndStop. См. Go To в разделе «Основные операции». if. Позволяет задать условие, при котором будет выполнена некая операция.

if (k==44) {

gotoAndPlay(4): }

ifFrameLoaded. Определяет, загружен ли указанный кадр. Эта операция часто применяется в начальных кадрах фильма в процессе его предварительной загрузки.

ifFrameLoaded( "Scene I", 14) {

gotoAndPlay(4);

}

ВНИМАНИЕ

В списках операций в панелях Frame Actions (Операции кадра) и Object Actions (Операции объекта) некоторые операции, функции и свойства выделены зеленым маркером. Такое выделение означает, что данная конструкция считается устаревшей и употреблять ее следует с осторожностью. Например, функция into в настоящее время вытесняется функцией parselnt(); функция random() вытесняется методом Math. random(); на смену свойству _hi ghqual ity приходит свойство _qua1ity. При этом новые конструкции могут не работать в фильмах в формате Flash 4, в то время как выделенные зеленым маркером языковые средства прекрасно функционируют в таких фильмах. В настоящей книге вы встретитесь с теми и другими конструкциями, но использовать устаревшие средства в новых фильмах нежелательно. Обращайте особое внимание на объекты и способы их использования. Впрочем, если для ваших фильмов имеет большое значение совместимость с форматом Flash 4, то вам, напротив, лучше преимущественно применять конструкции, выделенные зеленым маркером.

include. Обращается к текстовому файлу, содержащему сценарий ActionScript, и выполняет этот сценарий. Для файлов с внешними сценариями рекомендуется использовать расширение .as.

on(release) {

#include "remote.as";

}

loadMovie. См. Load Movie в разделе «Основные операции».

loadVariables. Загружает текстовый файл, содержащий описание переменных в определенном формате, на заданный уровень либо в указанный объект. Описание каждой переменной должно иметь вид <имя переменной>=<значение>. Если в файле присутствуют описания нескольких переменных, между ними следует помещать разделитель в виде символа & (амперсанд); кроме того, в файле не должно быть ни пробелов, ни символов возврата каретки. loadVariables("message.txt", 0);

nextFrame. Переход к следующему кадру. (Эта команда доступна только в экспертном режиме.) nextFrame();

nextScene. Переход к следующей сцене. (Эта команда доступна только в экспертном режиме.) nextScene(); on. См. On Mouse Event в разделе «Основные операции».

onClipEvent. Позволяет задать сценарий обработки событий для выделенного клипа. Допускается использование девяти различных событий.

onClipEvent(load) {

score = 1;

}

onClipEvent(enterFrame)

{...onClipEventtunload)

{... onClipEvent(mouseDown)

{... onClipEvent(mousellp)

{... onClipEvent(mouseMove)

{... onCllpEvent(keyDown)

{...onClipEvent(keyUp)

{...onClipE vent (data) {...

play. CM. Play в разделе «Основные операции».

prevFrame. Переход к предыдущему кадру. (Эта команда доступна только в экспертном режиме.)

prevFrame();

prevScene. Переход к предыдущей сцене. (Эта команда доступна только в экспертном режиме.)

prevScene();

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

on(release) {

pr1nt(0. "bmovle"); }

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

on(release) {

printAsBitmap(3. "bframe");

}

removeMovieClip. Удаляет из фильма указанный клип.

on(release) {

removeMovieClip(_root.shorts./orangeShorts);

}

return. Эта необязательная операция явным образом возвращает из функции указанное значение либо константу null, если отсутствует фактический параметр.

function doTax(price. rate) {

return price + (price*rate): }

Применение операции return позволяет генерировать выходное значение функции; это значение может быть сохранено в переменной. Переменная out в следующем сценарии получит значение результата описанных выше вычислений, произведенных над переданными ей фактическими параметрами, то есть значение 42,12.

on(release) {

out=doTax(39,.08);

}

setProperty. Изменяет значение свойства указанного клипа. При использовании этой операции необходимо задавать путь к имени экземпляра клипа, а не к метке символа. Для фильмов в формате Flash 4 можно использовать следующий формат:

onClipEvent(mouseDown) {

setProperty("/mcCool", rotation, 44);

}

В пакете Flash 5 подобные сценарии рекомендуется записывать иначе:

onClipEvent(mouseDown) {

_root.mcCool,_rotation=44; }

set variable. Позволяет задать или изменить значение переменной. В качестве присваиваемого значения можно использовать лишь значения и составные выражения, совместимые с типом переменной. Если инструкцию присваивания выбрать в списке Actions (Операции), то в тексте сценария появится строка следующего вида: set(name, value):

Подставив конкретные фактические параметры, мы можем получить следующую строку:

set(k, (x/k)*100);

Однако для установки значений переменных в системе Flash рекомендуется использовать иной формат присваивания:

k = ((x/k) * 100):

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

ondipEvent(mouseDown) {

root.mcCool.startDrag(false. 100, 250, 200, 250); }

stop. См. Stop в разделе «Основные операции».

stopAllSounds. См. Stop All Sounds в разделе «Основные операции».

stopDrag. Позволяет определить условия завершения перетаскивания клипа. У этой операции нет никаких параметров.

onClipEvent(mouseUp) {

stopDrag();

}

tellTarget. См. Tell Target в разделе «Основные операции».

toggleHighQuality. См. Toggle High Quality в разделе «Основные операции».

trace. Отладочная инструкция, обеспечивающая отображение значения указанной переменной в окне Output (Вывод).

do {

var k=k+1;

} while (k<-10); trace(k);

unloadMovie. CM. Unload Movie в разделе «Основные операции».

var. Определяет некую переменную как локальную. Эта операция особенно часто используется в функциях, когда в сценарии обрабатывается несколько кнопок, кадров или клипов.

function counter() {

var k=l; }

while. Инструкция цикла, которая позволяет определить условие выхода из цикла перед началом его выполнения; выполнение цикла продолжается, пока заданное условие является истинным. Если перед первой итерацией цикла условие не выполняется, тело цикла не будет выполнено ни разу. Таким образом, это цикл с предусловием. См. также do while.

on(release) {

while(k<9) { k = k+1:

} box=k;

}

with. Данная инструкция позволяет адресовать определенный объект; этот объект используется по умолчанию для всех инструкций, заключенных в фигурные скобки ({}), следующие за ключевым словом with. (Эта операция рекомендуется в качестве альтернативы устаревшей операции tellTarget.) В фигурных скобках может находиться несколько инструкций.

on(release) {

with(_root.show) {

_rotation=56:

_alpha=76; }

Операторы

! — восклицательный знак используется для обозначения логической операции отрицания. Превращая логическое значение (true или false) в его противоположность, оператор отрицания позволяет проверить отсутствие определенного условия.

if (!Key.isDown(Key.ESCAPE)) {

Display="Нажмите клавишу escape,."; }

!= — проверка условия неравенства. k=10;

j=11;

if (k != j) {

box = "Они не равны." }

% — результат деления по модулю. Целочисленное деление с остатком называется делением по модулю. В следующем примере остаток от деления, присваиваемый переменной box, равен 6 (50/11=4 с остатком 6).

k=50;

j=11;

box= k % j;

&& — логическая конъюнкция, которая применяется в условных выражениях. Выражение true&Strue дает в результате true; true&&false дает false; fal-se&Sfalse дает false. Этот оператор широко применяется при проверке множественных условий.

k=50;

j=11;

х=(k > j);

У=(J > 5);

if (x && у) {

box= "Совершенно верно!";

}

В инструкциях с проверкой множественных условий оператор конъюнкции применяется следующим образом:

if ((total=-all) && (total>=lastQ)) {

output="Баланс подведен: в четвертом квартале он положителен.";

}

() — группировка операций с целью изменить порядок их выполнения. k=(5 + w) * (34-v);

* — умножение чисел или числовых переменных.

k=12 * х;

+ — сложение чисел или числовых переменных; конкатенация строк.

k= a + 7:

WOW="Быстродействие" + "память";

++ — операция инкремента для переменных; чаще всего используется в цикле for. Конструкция ++<иня переменной> выполняется перед исполнением тела цикла, а конструкция <имя переменной>++ — после тела цикла.

for (k = 1; k <= 521; k++) { box = k;

}

- — вычитание чисел или числовых переменных. Уменьшаемое находится слева, а вычитаемое — справа.

k = k - 2;

— — операция декремента для переменных; чаще всего используется в цикле for. Конструкция --<имя переменной> выполняется перед исполнением тела цикла, а конструкция <имя переменной>-- — после тела цикла.

for (k = 1000; k >= 521; k --) { box = k;

}

/ — деление чисел или числовых переменных. Делимое находится слева, а делитель — справа.

k = 250 / 50;

< — оператор сравнения; значение выражения будет равно true, если значение слева меньше, чем значение справа.

var k = 20;

var j = 15;

if (j < k) {

box »

"Вы еще моложе.";

}

<= — оператор сравнения; значение выражения будет равно true, если значение слева меньше или равно значению справа.

var k = 1;

do {

k = ++k;

box = k;

}

while (k <= 50);

<> — оператор сравнения; значение выражения будет равно true, если значение слева не равно значению справа (этот оператор считается устаревшим, он вполне допустим в сценариях, но лучше использовать оператор !=).

var k = 15;

var x = 51;

if (k <> x)

{

box ="Ничего общего."; }

= = — оператор сравнения; значение выражения будет равно true, если значение слева равно значению справа.

ВНИМАНИЕ

Одиночный знак равенства используется для присваивания; в условных выражениях требуется двойной знак.

var k = 29;

var x = 29;

if (k == x) {

box = "Два сапога пара."; }

> — оператор сравнения; значение выражения будет равно true, если значение слева больше, чем значение справа.

var kid = 15;

var parent = 40;

if (kid > parent)

{

box = "Вы меня разочаровали!";

}

>= — оператор сравнения; значение выражения будет равно true, если значение слева больше или равно значению справа.

var k = 17;

var x =17;

if (x >= k)

{

box ="Больше или лучше?";

and — логическая конъюнкция. Этот оператор позволяет получить значение true, когда справедливы оба условия. Логическая конъюнкция часто используется при обработке двух условий в рамках одной условной инструкции. См. также &&.

var k = 15;

var x = 40;

If ((x > k) and (x - 40)) {

box = "Годятся оба.";

}

not — логическое отрицание. Этот оператор позволяет получить значение true, если условие неверно. Автор полагает, что это похоже на двойное .отрицание. См. также /.

var k = 15;

var x = 40;

If (not(k > x))

{

box = "Нет на нет будет да.";

}

or — логическая дизъюнкция. Этот оператор позволяет получить значение true, когда справедливо хотя бы одно из двух условий. Обратите внимание на то, что в следующем примере истинным является только одно из условий. См. также ||.

var k = 15;

var x = 40;

if ((k = 15) or (x = 99)) {

box = "Ну, хотя бы одно...";

}

typeof — определение типа переменной. Различаются строковый, числовой и логический типы.

var k = (3 > 6);

if (typeof k == "boolean") {

box = "Это логическая переменная.";

}

void — данный оператор делает значение выражения неопределенным и используется для проверки на существование неопределенных объектов. Может применяться для сброса значений переменных.

counter += counter void(counter);

Приведем пример использования этого оператора для проверки существования неопределенного значения.

if (j == void(j)) {

display = "Значение переменной не определено.": }

|| — логическая дизъюнкция. Используется в условных инструкциях. Если хотя бы одно из условий является истинным, данный оператор возвращает значение true, k = 37;

j = 27;

if C(k > j) || (j < 26)) {

box = "И одного хватит."

Поразрядные операторы

Прошли те времена, когда нельзя было написать сколь-нибудь эффективную программу, в которой не было бы поразрядных операторов. (При выполнении поразрядных операций числа с плавающей точкой преобразуются в 32-разрядные целые. Механизм поразрядных операторов требует представлять вещественные числа целыми.) Однако если вы не можете жить без двоичного мира, состоящего из нулей и единиц, значит, у вас уже есть соответствующий опыт и для вас вполне достаточно следующего краткого описания.

& — поразрядная конъюнкция. . <<, >>, >>> — операторы поразрядного сдвига.

^ — поразрядная исключительная дизъюнкция.

| — поразрядная дизъюнкция.

-- поразрядное дополнение.

Составные операторы

Обратитесь к примерам, содержащимся в предыдущих разделах, чтобы посмотреть, зачем могут понадобиться составные операторы. Эти операторы представляют собой сокращенную форму записи других операций. У всех составных операторов есть одно общее свойство: сначала выполняется операция, находящаяся в правой части инструкции присваивания, а затем ее результат добавляется к значению переменной, расположенной слева от знака присваивания.

X = X * Y;

X +- 1;

Приведенные выше инструкции совершенно эквивалентны следующим операциям:

X *- Y;

X - X + 1;

Привыкнув к формату записи составных операторов, вы наверняка оцените их по достоинству.

%= — составное деление по модулю.

&= — составная поразрядная конъюнкция.

-= — составное умножение.

-= — составное вычитание.

/= — составное деление.

«= — составной поразрядный сдвиг влево.

>>= — составной поразрядный сдвиг вправо.

>>>= — составной поразрядный сдвиг вправо без знака.

^= — составная исключительная дизъюнкция.

|= — составная поразрядная дизъюнкция.

Строковые операторы

К числу строковых операторов относятся строковые эквиваленты операторов сравнения, применяемых для чисел. (Для большинства строковых операторов в настоящее время существуют универсальные эквиваленты — операторы, которые применяются для обработки как строковых, так и нестроковых выражений.) Сравнение строк производится на основе алфавитного порядка букв. Наименьший вес при сравнении имеет буква «А», а наибольший — буква «Z». Следовательно, строка "Z" больше строки "А". Символы нижнего регистра считаются большими, нежели символы верхнего регистра. Поэтому "а" больше "z".

Перечисленные ниже строковые операторы следует применять, если вы работаете над фильмом, который должен быть совместим с форматом Flash 4.

add — конкатенация строк. В приведенном ниже примере переменная box получит значение "Привет!". Наряду с оператором add вы можете использовать оператор +.

ВНИМАНИЕ

Данный оператор пришел на смену оператору &, который выполнял аналогичные функции в систеие Flash 4.

k = "При":

J = "вет!";

van welcome - k add j;

box = welcome

eq — проверка условия равенства двух строк. Наряду с оператором eq вы можете использовать оператор ==.

var A = "apples";

var 0 = "orange";

If (A eq 0) {

box = "Одно и то же!";

} else {

box = "Разные вещи!";

}

ge — оператор «не меньше» для строк. Учтите, что сравниваются значения строковых переменных, а не их имена. Наряду с оператором де вы можете использовать оператор >=.

var Z = "Antelopes";

var A = "Zebras";

If (A ge Z) {

box = "Важны лишь значения переменных!";

gt — оператор «больше» для строк. Наряду с оператором gt вы можете использовать оператор >.

var lс = "а";

var uc = "W";

If (lc gt uc) {

box = "Нижний регистр больше верхнего."; }

lе — оператор «не больше» для строк. Наряду с оператором 1е вы можете использовать оператор <=.

var Same0 - "Двойня";

var Osame0 - "Двойня";

if (Same0 le Osame0)

{

box = "Двойная радость!"; }

It — оператор «меньше» для строк. Наряду с оператором It вы можете использовать оператор <.

var Fatso - "Толстяк";

var TooSlim - "Дистрофик";

If (TooSHm It Fatso) {

box - "Съешьте что-нибудь!"; }

ne — оператор «не равно» для строк. Наряду с оператором пе вы можете использовать оператор К

var A = "яблоки";

var 0 = "апельсины";

If (А nе 0) {

box= "И все-таки они разные!";

}

Функции

Boolean. Приводит значение выражения к типу Boolean. В приведенном ниже примере переменная box получит значение true.

var a = "Энди"

var k= "Кейт"

var j= Boolean (a != k);

box = j

escape. Возвращает значение ASCII-кода для заданного символа, входящего в набор ISO Latin-1. К примеру, следующая инструкция возвратит код "%21", который и будет присвоен переменной а.

var a = escape("!")

eval. Возвращает значение переменной или свойства либо ссылку на объект. При создании псевдомассивов (например, clipl, clip2, clipS и т. д.) имя переменной и число (как правило, числовая переменная) конкатенируются и составляют новое имя переменной. Впрочем, в фильмах в формате Flash рекомендуется отказаться от псевдомассивов, применяя вместо них средства объекта Array. В первом из приведенных ниже примеров будет возвращено значение свойства _alpha, а во втором — адрес.

out = eval("_root.boat._alpha");

display = eval("_root.boat");

false. Литерал, соответствующий логическому значению «ложь». Обратите внимание на то обстоятельство, что идентификатор false не заключается в кавычки.

var n = false

getProperty. Возвращает значение указанного свойства заданного объекта.

var k = getProperty("/mcCool", _x);

Впрочем, в Flash предпочтительно использовать иную конструкцию, эквивалентную данной функции:

var k = _root.mcCool._x;

getTimer. Возвращает количество миллисекунд, прошедших с момента начала воспроизведения текущего фильма.

timer = getTimer();

int. Возвращает значение, полученное отбрасыванием дробной части числового параметра. В следующем примере эта функция возвращает значение 34. (В настоящее время вытесняется функцией parselnt.)

var k = 34.964

var lob = int(k)

isFinite. Проверяет факт конечности заданного числа. Возвращает логическое значение (true или false.) В следующем примере переменная box получает значение true, поскольку 56 — число конечное.

var k = 56;

var j = isFinite(k);

box = j;

isNan. Проверяет, действительно ли переданное в качестве параметра значение не является числом. Если это значение нечисловое, возвращается значение true. В следующем примере возвращается true, так как "Flash" — это строка, а не число.

var k = "Flash";

var j = isNaN(k);

box = j;

maxscroll. Данная функция фактически представляет собой предназначенное только для чтения свойство, связанное с текстовым полем через имя переменной. Возвращает некое максимальное значение, при вычислении которого используется информация о допустимом размере упомянутого текстового поля. Допустим, переменная, связанная с текстовым полем, имеет имя di spl ay, а значение функции maxscroll помещается в переменную

topScroll. topScroll = _root.display.maxscroll;

newline. Применяется для вставки символа перевода строки (или возврата каретки).

var k = "Верх":

var b = "Низ";

var с = (k + newline + b):

box = c;

number. Преобразует значение выражения в число с плавающей точкой либо в логическое число. Возвращает значение 0, если в качестве параметра было передано нечисловое значение. (Данная функция рекомендуется только для использования в совершенно определенных целях. Она была задумана как одно из средств, обеспечивающих преобразование файлов Flash 4 в формат Flash. В большинстве случаев вместо нее предпочтительно использовать функции parselnt или parseFloat.)

k ="145.76"

j = Number(k)

box = j * 2

parseFloat. Преобразует строку в число с плавающей точкой. Если строка не является допустимым представлением числа, возвращается значение NaN. В следующем примере мы имеем дело именно с такой ситуацией. Знак доллара ($) не позволяет рассматривать строку п как число. В результате при попытке осуществить преобразование значения п в число будет возвращено значение NaN. (Чтобы обрабатывать ошибки преобразования строк в числа, можно использовать функцию NaN.)

n = "$874.87"

j = parselFloat(n)

box = j * 3

parselnt. Преобразует строку в целое число; цифры после десятичной точки при этом просто отбрасываются. В следующем примере данная функция возвратит значение 874.

n = "874.87"

j = parselnt(n)

box = j

random. Генерирует случайное число в диапазоне от 0 до n-1, где n — некое положительное целое число, передаваемое данной функции в качестве параметра. В следующем примере будет возвращено случайное число, находящееся в диапазоне от 0 до 8.

var vague = random(9);

box = vague;

scroll. При прокрутке устанавливает значение номера первой строки, отображаемой на экране в текстовом поле, с которым связана заданная переменная. Обновлять отображение прокручиваемого текстового поля на экране можно, изменяя значение данной функции (увеличивая его при прокрутке текста вверх и уменьшая при прокрутке вниз). Скажем, при каждом обращении к следующему сценарию текст будет прокручиваться на четыре строки вверх.

on(release) {

_root.bigText.scroll = х +4;

}

string. Преобразует число в строку. Такое преобразование необходимо, например, для добавления символа национальной валюты к числу, выражающему сумму денег.

bar bucks = 782.21

var slgnbuck = string(bucks)

var showsign = "$" + signbuck

box = showsing;

targetPath. Возвращает путь к заданному клипу в виде строки. При этом допускается косвенная адресация.

targetPath(_root.fender[j+2]) { ...

}

true. Логическое значение «истина».

var flag = true

unescape. Обратная функция для функции escape. Данная функция применяется для преобразования ASCII-кода в символ, входящий в набор ISO Latin-1. В следующем примере будет возвращен символ «восклицательный знак» (!), поскольку его ASCII-код равен %21,

var a = unescape("%21");

updateAfterEvent. Обеспечивает обновление содержимого экрана при выполнении операций с клипами независимо от текущей частоты кадров. Помогает более плавно представлять зрителю операции перетаскивания.

onClipEvent(mouseDown) {

startDragCmcCool, true. 100. 250, 200, 250); updateAfterEvent(mouseDown)

} onClipEvent(mouseUp) {

stopOrag(); updateAf terEvent (rnouseUp)

}

Строковые функции

ПРИМЕЧАНИЕ

Для всех строковых функций существуют эквивалентные методы объекта String. Строковые функции использовать в фильмах в формате Flash не рекомендуется. Вопросы работы со строковыми объектами рассматриваются в уроке 7.

chr. Возвращает символ, ASCII-код которого передан функции в качестве параметра. У строчных и прописных букв разные коды. В следующем примере использован код буквы «А».

v = chr(65)

length. Возвращает длину строки.

k = length("SandLight")

ord. Возвращает ASCII-код символа. В следующем примере переменная v получит значение 97.

v = ord("a")

substring. Возвращает подстроку, заданную комбинацией параметров <имя строковой переменной>, <начальная позиция> и <длина>. Под начальной позицией понимается индекс символа, за которым начинается нужная подстрока. Длина — это количество символов, которые должны быть включены в подстроку. В следующем примере из строки "SandLight" извлекается подстрока "Light".

k = substring("SandLight", 4, 5);

box = k;

mbchr. Мультибайтная версия функции chr. mblength. Мультибайтная версия функции length. mbord. Мультибайтная версия функции ord. mbsubstring. Мультибайтная версия функции substring.

Свойства

_alpha. Степень прозрачности объекта. Шкала прозрачности находится в диапазоне от 0 (для полностью прозрачных объектов) до 100 (для совершенно непрозрачных объектов), то есть прозрачность выражается в процентах.

SetProperty(mcCool. _alpha. 50)

_currentframe. Свойство, предназначенное только для чтения, которое содержит информацию о текущем кадре фильма или клипа.

k = _root.McCool._currentframe;

_droptarget. Свойство, предназначенное только для чтения; содержит имя клипа, на который перетаскивается другой клип.

k = _root.seeker._droptarget;

_focusrect. Используется для отображения на экране желтого прямоугольника, появляющегося вокруг кнопок по нажатию клавиши табуляции при переключении между ними. Это глобальное свойство, принимающее значения true и false.

_root.seeker_focusrect = true:

_framesloaded. Свойство, предназначенное только для чтения, которое содержит текущее число кадров, загруженных в клипе.

k = _root.McCool._fnamesloaded;

box = k;

_height. Возвращает высоту клипа в пикселах, как в первом примере. Значение высоты может быть изменено, как во втором примере.

а = _root.seeker_height;

box = a;

onClipEvent(keyDown) {

_root.seeker._height = 104;

}

_highquality. Это свойство позволяет включать и отключать режим высокого качества экранных изображений. Принимает логические значения.

_highquallty = false;

_name. Это свойство позволяет задавать имя и переименовывать клип в тексте сценария. Операции, выполняемые над этим свойством, применяются к имени выделенного экземпляра. В следующем примере клип seeker получает имя sam. Затем новое имя используется при выполнении операции поворота этого клипа на 55 градусов.

_root.seeker, _name = "sam";

_root.sam._rotation = 55:

_quality. Глобальное свойство, которое определяет качество экранных изображений. Принимает строковые значения LOW, MEDIUM, HIGH и BEST (использование прописных букв обязательно). По всей вероятности, данное свойство со временем полностью вытеснит свойство _highqua1ity.

_quality = BEST;

whatQual = _quality;

_rotation. Свойство, определяющее угол поворота, задается в градусах (от 0 до 360). Для поворота против часовой стрелки можно использовать отрицательные значения. Для задания угла поворота необходимо указать путь к клипу.

_root. seeker._rotation = 200;

_soundbuftime. Глобальное свойство, задающее время предварительной загрузки, предшествующей началу воспроизведения звука. По умолчанию это время равно пяти секундам.

_soundbuftime = 12;

_target. Имя экземпляра клипа. При необходимости имя экземпляра можно изменить. В следующем примере клип с именем экземпляра seeker получает имя raagicTap.

_root.seeker._target - "magicTap";

_totalframes. Возвращает общее число кадров в клипе.

on(release) {

tf = seeker._totalframes; box = tf; }

_url.

Свойство, предназначенное только для чтения, содержит адрес URL клипа.

location = _root.seeker._url;

_visible. Возвращает логическое значение, указывающее, является ли видимым заданный клип.

on(release) {

_root.seeker._visible = false;

}

_width. Возвращает ширину клипа в пикселах. Значение этого свойства может изменяться. Ср. _hieight.

on(release) {

_root.seeker._width =50; } _x.

Возвращает горизонтальную позицию заданного клипа. Ср. _у.

on(release) {

_root.seeker, x = 250: }

_xmouse. Текущая позиция указателя мыши на горизонтальной оси координат (оси X), задаваемая относительно центра указанного клипа. При перемещении клипа меняется и относительное значение свойства _xmouse. См. также _ymouse.

var mposX = _root.seeker._xmouse;

_xscale. Относительная ширина заданного клипа по горизонтальной оси координат (оси X). В следующем примере производится увеличение масштаба клипа по горизонтали до 200 %. См. также

_yscale. _root.seeker._xscale = 200; _y.

Возвращает вертикальную позицию заданного клипа. См также _х.

on(release) {

_root.shootМе._у = 114;

} _ymouse.

Текущая позиция указателя мыши по вертикальной оси (оси. Y), задаваемая относительно центра указанного клипа. При перемещении клипа меняется и относительное значение свойства _ymouse. См. также _хтоте.

on(release) {

yHere = _root.seeker_ymouse;

}

_yscale. Относительная высота заданного клипа по вертикальной оси. В следующем примере производится установка вертикального масштаба, равного 50 %. См. также_xscale.

on(release) {

_root.shootMe. yscale = 50;

}

к оглавлению Flash   Алгоритмизация   4GL - визуальные среды мультимедийные технологии  

Знаете ли Вы, что примитивные конструкторы - это операции, которые создают объекты, соответствующего им типа, не используя никаких объектов в качестве аргументов. Примером такой операции является создание пустого списка.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution