Иллюстрированный самоучитель по WEB-графике

         

Функции


Boolean. Приводит значение выражения к типу Boolean (логическому). > приведенном ниже примере переменная box получит значение true:

var var var

"Иван"; "Василий"; Boolean (a !!

k)

box = j

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

var a = escape (" ! ") ;

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

out = eval

("_root.My_clip._alpha"); display = eval ("_root.My_clip");

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

var n = false;

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

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

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

var k = root.My clip, x;

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

timer = getTimer ();

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

var k = 34 .875; var x = int (k) ;

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



var k = 56;

var j = isFinite (k) ; box = j;

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

var k = "Флэш"; var j = isNan (k) ; box = j;

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

topScroll root.display.maxscroll ;

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

var k = "Верх";

var b = "Низ";

var с = (k + newline + b) ;

box = c;

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

k = "145.76"; j = number (k) ; box = j * 2;

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

n = "$935.63";



j = parseFloat (n) ;

box = j * 3;

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

n = "874.87";

j = parselnt (n);

box = j;

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

var x = random (9); box = x; .

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

on (release) {

_root.MyJText.scroll = x + 4; }

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

bar money = 782.21;

var cmoney = string (money);

var showmoney = cmoney •»• " руб."; box = showmoney;

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

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

true. Литерал, соответствующий логическому значению «истина». Пример:

var flag = true;

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

var a = unescape("%21");

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

onClipEvent (mouseDown) {

startDrag (mcCool, true, 100, 250, 200, 250);

updateAfterEvent (mouseDown) } onCHpEvent (mouseUp) {

stopDrag ();

updateAfterEvent (mouseUp)


Операторы


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

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

{ Display = "Нажмите клавишу <Escape>."; }

! = (проверка условия неравенства). Пример:

m = 10;

j = 12;

if (m != j) {

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

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

k = 50;

j = 11;

bох = k % j ;

&& (логическая конъюнкция (И)). Применяется в условных выражениях. Выражение true&&true дает в результате true; true&&false дает false; false&&.f alse дает false. Этот oneратор широко применяется при провер-<е множественных условий. Пример:

< = 50; j = 11; С - (k > j) ;

/ = (j > 5); Lf (x && у) {

box = "Все правильно!";

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

if ((total == all) && (total >= lastO) {

output = "Баланс подведен; в третьем квартале он положительный."; }

( и ) (круглые скобки). Применяются для группировки операций с целью изменить порядок их выполнения. Пример:

(5 + w) * (34 - v);

* (умножение). Применяется в операции умножения чисел или числовых переменных. Пример:

k = 12 * х;

+ (сложение). Применяется в операции сложения чисел или числовых переменных, а также для конкатенации строк. Пример:

k = х + 7;

xyz = "Быстродействие" + "Память"

++ (операция инкремента для переменных). Чаще всего используется в цикле for. Конструкция + + <имя переменной выполняется перед исполнением тела цикла, а конструкция <имя переменной>++ - после тела цикла. Пример:

for

(k = 1; k box = k;

<= 521; 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 = 52; if (k о х) {

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 (логическое отрицание (HE)). Этот оператор позволяет получить значение 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 = "Значение переменной не определено. ";. )

I I (логическая дизъюнкция (ИЛИ)). Используется в условных инструкциях. Если хотя бы одно из условных выражений в операции дизъюнкции является истинным, данный оператор возвращает значение true. Пример:

k = 37; ] = 27; if ((k > j) || (j < 26)) {

box = "Достаточно и одного.";


Основные операции (Basic Actions)


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

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

fscommand ("allowscale", true);

fscommand ("fullscreen", true);

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

on (release) (

getUrl ("http:// www.admiral.ru/~dunaev",

self);

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

gotoAndPlay (5) ;

gotoAndStop ("My_label");

If Frame Is Loaded. Cм. ifFrameLoaded в разделе «Прочие операции (Actions)».

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

on (release) {

loadMovie ("My_movie.swf", 1);

}

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

on (release) f

inloadMovie (44);

}

on (press) {

on (releaseOutside) {

on (rollover) (

on (rollout) {

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

on (release) {

tell Target(_root.My_clip) { gotoAndStop (10);

on (dragOver) {

on (dragOut) {

on (keyPress "D") {

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



play ();

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



stop ();

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

stopAHSounds ();

on (release) f

_root.My_clip.gotoAndStop (10); }

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

on (press) {

toggleHighQuality (); }

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

on (release) { unloadMovie(1);


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


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

& (поразрядная конъюнкция)

«, », >» (операторы поразрядного сдвига)

" (поразрядная исключительная дизъюнкция)

I (поразрядная дизъюнкция)

~(поразрядное дополнение)



СПРАВОЧНИК ПО ACTIONSCRIPT


Основные операции (Basic Actions)

Прочие операции (Actions)

Операторы

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

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

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

Функции

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

Свойства



Прочие операции (Actions)


В данном разделе собраны сведения об операциях, включенных в список 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.My_clip:my_frame23"); }

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

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

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

on (release) { do {

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

continue; I

) 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; }

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



on (rollover) {

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

moreCool. x = 8;

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

if (k != 8) {

gotoAndPlay(1); } else (

gotoAndPlay(15); }

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

if (k != 8) {

gotoAndPlay (1); } else if (name == "Иван") {

gotoAndPlay ("Василий"); }

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

on (release) {

for (k = 1: k < 10; k++) {

box = k; }

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

on (release) {

dog = {breed: 'спаниэль', class: 'старшие', name: 'Дружок');

for (breed in fog) {

out *-= dog [breed] + newline;

}

}

На выходе получим следующее значение переменной out:

спаниэль

старшие

Дружок

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

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

Пример:

function My_func (xvar) (

_root.myclip._rotation.xvar;

}

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



on (release) {

My_func (35); }

getURL. См. get URL в разделе «Основные операции (Basic Actions)».

gotoAndPlay. См. Go To в разделе «Основные операции (Basic Actions)».

gotoAndStop. См. Go To в разделе «Основные операции (Basic Actions)».

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

Пример:

if (k == 35) {

gotoAndPlay (7) ;

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

ifFrameLoaded ("Scenel", 15) { gotoAndPlay (4);

)

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

on (release) (

#include "remote.as";

Next Frame() ;

nextScene. Переход к следующей сцене. Эта команда доступна только в экспертном режиме. Пример:

NextScene();

on. См. On Mouse Event в разделе "Основные операции (Basic Actions)».

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

onClipEvent(load) score = 1;

I

onClipEvent(enterFrame) {

onClipEvent(unload) {

onClipEvent(mouseDown) {

loadMovie. Cм. Load Movie в разделе «Основные операции (Basic Actions)».

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

loadVariables("message.txt" , 0) ;

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

onClipEvent(mouseUp) {

onClipEvent(mouseMove) {



onClipEvent(keyDown) {

onClipEvent(keyUp) (

onClipEvent(data) {

play. Cм. Play в разделе «Основные операции (Basic Actions)».

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

PrevFrame();

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

revScene();

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

on (release) {

print (0, "bmovie"):

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

i (release) {

printAsBitmiap(3, "bframe");

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

(release) {

removeMovieClip(_root.shorts./ angeShorts);

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

notion doTax(price, rate) ( return price + (price * rate);

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

on (release) {

out = doTax(39, .08) ; I

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

onClipEvent (mouseDown) (

setProperty("/mcCool", _rotation, 43); }

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



onClipEvent (mouseDown) {

_root.mcCool._rotation = 43: }

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

set (name, value);

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

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

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

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

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

onClipEvent (mouseDown) {

_root.mcCool.startDrag (false, 100, 250, 200, 250); I

stop. Cм. Stop в разделе «Основные операции (Basic Actions)».

stopAllSounds. Cм. Stop All Sounds в разделе «Основные операции (Basic Actions)».

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

onClipEvent (mouseUp) {

stopDrag (); }

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

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

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

do {

va r k = k + 1 ; } while (k <= 10); trace (k);

unloadMovie. Cм. Unload Movie u разделе «Основные операции (Basic Actions)».

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

function counter () (

var k = 1; }

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

on (release) {

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

}

box = k; )

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

on (release) (

with(_root.show) { _rotation = 35; _alpha = "76;


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


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

X += 1;

X *= Y;

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

X = X 4- 1;

X = X * Y;

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

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

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

*= (составное умножение)

-= (составное вычитание)

/= (составное деление)

<<= (составной поразрядный сдвиг влево)

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

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

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

I = (составная поразрядная дизъюнкция)



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


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

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

v = chr (65);

length. Возвращает длину строки. В следующем примере функция возвращает число 11:

k = length ("Иванов Иван");

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

v = ord ("а") ;

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

k = substring ("Электропаяльник",7,8);

mbchr. Мультибайтная версия функции chr.

mblength. Мультибайтная версия функции length.

mbord. Мультибайтная версия функции ord.

mbsubstring. Мультибайтная версия функции substring.



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


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

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

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

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

k = "При";

j = "вет!";

var welcome = k add j;

box = welcome;

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

var Apples = "яблоки"; var Oranges = "апельсины"; if (Apples eq Oranges) {

box = "Одно и то же!"; } 5lse {

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

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

vаr Z = "Антилопы"; 'ar A = "Зебры";

f (A ge Z) {

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

gt (оператор «больше» для строк). Наряду с оператором gt можно использовать оператор >. Пример:

var 1с = "а"; var uc = "W"; if (lc gt uc) {

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

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

var Same = "Двойня"; var Osame = "Двойня"; if (Same le Osame) (

box = "Двойня это хорошо!";

)

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

var Fatso = "Толстяк"; var TooSlim = "Тощий"; if (TooSlim It Fatso) {

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

}

ne (оператор «не равно» для строк).

Наряду с оператором пе можно использовать оператор ! =. Пример:

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

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

if (A ne Oranges) {

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



хотя лучше бы называть степенью


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

SetProperty (My_clip._alpha. 50);

_currentf rame. Свойство только для чтения, которое содержит информацию о текущем кадре фильма (клипа). Пример:

k = _root.My_clip._currentframe;

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

k = _root.My_clip._droptarget;

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

_root.My_clip._focusrect = true;

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

k = _root.My_clip._framesloaded;

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

а = _root.My_clip._height;

box = а;

onClipEvent (keyDown) (

_root.My_clip._height = 120; I

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

_highquality = false;

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

_root.My_clip._name = "sam"; _root.sam._rotation = 55;

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



_quality = BEST; whatQuality = _quality;

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

_root.My_clip._rotation = 210;

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

_soundbuftime = 12;

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

_root.My_clip._target "new_clip";

_totalf rames. Возвращает общее число кадров в клипе. Пример:

on (release) {

tf = My_clip._totalframes; box = tf;

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

on (release) {

_root.My_clip._width = 50; }

_x. Возвращает горизонтальную по зицию заданного клипа. Пример:

on (release) (

_root.My_clip._x = 250; )

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

var mposX = _root.My_clip._xmouse,

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

_root.My_clip._xscale = 200;

_y. Возвращает вертикальную пози цию заданного клипа. Пример:

on (release) {

_root.My_clip._y = 118;

_url. Свойство только для чтения, содержит URL-адрес клипа. Пример:

location = _root.My_clip._url;

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

on (release) (

_root.My_clip._visible = false;

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

on (release) (

yHere = _root.My_clip._ymouse

Q _yscale. Относительная высота за- on (release) { данного клипа по вертикальной оси. В _root.My_ciip._yscaie = 50;

_yscale. Относительная высота заданного клипа по вертикальной оси.

следующем примере производится установка вертикального масштаба, равного 50%. Пример:

on (release) {

_root.My_ciip._yscaie = 50;

}

букв обязательно. Возможно, данное свойство со временем полностью вытеснит свойство_highqualit у. Примеры: