Справочник по ActionScript
Основные операции
FSCommand
Передает проигрывателю фильмов команду категории FS Command.
fscommand (“allowscale”, true);
fscommand (“fullscreen”, true);
Get URL
Осуществляет переход по заданному адресу URL; соответствующая страница открывается в окне, задаваемом необязательным параметром.
on (release) {
getUrl ("http://www.admiral.ru/~dunaev", _se1f):
}
Go To
Осуществляет переход (с последующим воспроизведением или остановкой) к кадру, заданному номером или меткой.
gotoAndP1ay (5);
gotoAndStop ("My_label");
If Frame Is Loaded
CM. ifFrameLoaded в разделе «Прочие операции».
Load Movie
Загружает фильм, находящийся по указанному адресу URL на заданном уровне, либо производит загрузку этого фильма в заданный клип. Если новый фильм должен быть размещен на том же уровне, где находится фильм, осуществляющий операцию загрузки, загружаемый фильм вытесняет его.
on (release) {
1oadMovie ("My_movie.swf", 1);
}
On Mouse Event
Подключает сценарий обработки события мыши или клавиатуры. В качестве обработчика события выступает инструкция, заключенная в фигурные скобки {}.
on (release) {
in1oadMov1e (44);
}
on (press) {
...
}
on (release0utside) {
...
}
on (roll0ver) {
...
}
on (rollOut) {
...
}
on (dragOver) {
...
}
on (dragOut) {
...
}
on (keyPress "D") {
...
}
Play
Воспроизводит фильм. У этой операции нет никаких параметров.
р1ау ();
Stop
Останавливает воспроизведение фильма. У этой операции нет никаких параметров.
stop ();
Stop All Sounds
Полностью отключает воспроизведение звука в фильме.
stopAIISounds ();
Tell Target
Данная операция служит для передачи команды vлипу. Эта операция обладает рядом недостатков, за которые ее критикуют многие разработчики. Второй из приведенных ниже примеров демонстрирует предпочтительное альтернативное решение, позволяющее обойтись без данной операции, — применение механизма адресации. Кроме этого, в настоящее время вместо операции Tell Target рекомендуется использовать инструкцию with.
on (release) {
tell Target(_root.My_clip) {
gotoAndStop (10);
}
}
on (release) {
_root.My_clip.gotoAndStop (10);
}
Toggle High Quality
Позволяет включать и отключать режим сглаживания неровностей экранных шрифтов. У этой операции нет никаких параметров.
on (press) {
togg1eHighQua11ty ();
}
Unload movie
Позволяет выгрузить любой фильм, находящийся на заданном уровне. При этом нет необходимости указывать адрес URL выгружаемого фильма.
on (release) {
unloadMovie(1);
}
Прочие операции
В данном разделе собраны сведения об операциях, включенных в список 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+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(ro1l0ver) {
_root.mcCool.dupl1cateMovi eClip ("moreCool", 1);
moreCool._x = 8;
}
else
Данная операция позволяет задать альтернативную последовательность действий для инструкции if. Эти действия будут выполняться при ложном значении условия.
if (k != 8) {
gotoAndPlay(l);
}
else {
gotoAndP1ay(15);
}
else if
Позволяет задать для инструкции if дополнительное условие, значение которого будет проверяться при ложном основном условии.
if (k != 8) {
gotoAndPlay (l);
}
else if (name == "Иван") {
gotoAndPlay ("Василий");
}
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]+new11ne;
}
}
На выходе мы получим следующее значение переменной out:
спаниэль
старшие
Дружок
FSCommand
См. раздел «Основные операции».
function
Определяет функцию — набор операций, которые будут выполняться в рамках некой новой команды. Определение функции задает этот набор, но не приводит к немедленному выполнению входящих в него операций. Вызов функции в настоящее время рекомендуется использовать вместо операции call.
function My_func (xvar) {
_root.myclip._rotation.xvar;
}
Чтобы вызвать функцию, необходимо включить ее имя в сценарий кнопки, клипа или кадра. Если определена функция с параметрами, при ее вызове нужно использовать фактические параметры — литералы или переменные.
on (release) {
My_func (35);
}
getURL
См. get URL в разделе «Основные операции».
gotoAndPlay
См. Go To в разделе «Основные операции».
gotoAndStop
См. Go To в разделе «Основные операции».
if
Позволяет задать условие, при котором будет выполнена некая операция.
if (k==35) {
gotoAndP1ay (7);
}
ifFrameLoaded
Определяет, загружен ли указанный кадр. Эта операция часто применяется в начальных кадрах фильма в процессе его предварительной загрузки.
ifFrameLoaded ("Scene1", 15) {
gotoAndP1ay (4);
}
include
Обращается к текстовому файлу, содержащему сценарий ActionScript, и выполняет этот сценарий. Для файлов с внешними сценариями рекомендуется использовать расширение as.
on (release) {
#include "remote.as";
}
loadMovie
CM. Load Movie в разделе «Основные операции».
loadVariables
Загружает текстовый файл, содержащий описание переменных в определенном формате, на заданный уровень либо в указанный объект. Описание каждой переменной должно иметь вид <имя перененной>=<значение>. Если в файле присутствуют описания нескольких переменных, между ними следует помещать разделитель в виде символа & (амперсанд). Кроме того, в файле не должно быть ни пробелов, ни символов возврата каретки.
loadVariables(“message.txt", 0);
nextFrame
Переход к следующему кадру. Эта команда доступна только в экспертном режиме.
NextFrame();
nextScene
Переход к следующей сцене. Эта команда доступна только в экспертном режиме.
NextScene();
on
См. On Mouse Event в разделе «Основные операции».
onClipEvent
Позволяет задать сценарий обработки событий для выделенного клипа. Допускается использование девяти различных событий.
onClipEvent(load) {
score = 1;
}
onClipEvent(enterFrame) {
...
}
onClipEvent(unload) {
...
}
onClipEvent(mouseDown) {
...
}
onClipEvent(mouseUp) {
...
}
onClipEvent(mouseMove) {
...
}
onClipEvent(keyDown) {
...
}
onClipEvent(keyUp) {
...
}
onClipEvent(data) {
...
}
play
CМ. Play в разделе «Основные операции».
prevFrame
Переход к предыдущему кадру. Эта команда доступна только в экспертном режиме.
PrevFrame();
prevScene
Переход к предыдущей сцене. Эта команда доступна только в экспертном режиме.
PrevScene();
print
Направляет копию заданного фрагмента, находящегося на указанном уровне или в указанном объекте, на печать в виде векторного графического изображения. В качестве обрабатываемого фрагмента может выступать фильм, кадр или определенная область экрана.
on (release) {
print(0, "bmovie"):
}
printAsBitmap
Направляет копию заданного фрагмента, находящегося на указанном уровне или в указанном объекте, на печать в виде растрового графического изображения. В качестве обрабатываемого фрагмента может выступать фильм, кадр или определенная область экрана.
on (release) {
printAsBitmiap(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, 43);
}
В пакете Flash 5 подобные сценарии рекомендуется записывать иначе:
onClipEvent (mouseDown) {
_root.mcCoo1._rotation=43:
}
set variable
Позволяет задать или изменить значение переменной. В качестве присваиваемого значения можно использовать лишь значения и составные выражения, совместимые с типом переменной. Если инструкцию присваивания выбрать в списке Actions (Операции), то в тексте сценария появится строка следующего вида:
set (name, value);
Подставив конкретные фактические параметры, мы можем получить следующую строку:
Set (k, (x/k)*100);
Однако для установки значений переменных в системе Flash 5 рекомендуется
использовать иной формат присваивания:
k = ((x/k) * 100);
startDrag
Позволяет задать начальные условия перетаскивания клипа. Область перетаскивания может быть ограничена определенными значениями, задающими ее левую, правую, верхнюю и нижнюю границы. Логический параметр при задании значения true обеспечивает привязку указателя мыши к центру объекта.
onClipEvent (mouseDown) {
_root.mcCoo1.startDrag(false, 100, 250, 200, 250);
}
stop
CM. Stop в разделе «Основные операции».
stopAllSounds
См. Stop All Sounds в разделе «Основные операции».
stopDrag
Позволяет определить условия завершения перетаскивания клипа. У этой операции нет никаких параметров.
onClipEvent(mouseUp) {
stopDrag();
}
tellTarget
См. Tell Target в разделе «Основные операции».
toggleHighQuality
См. Toggle High Quality в разделе «Основные операции».
trace
Отладочная инструкция, обеспечивающая отображение значения указанной переменной в окне Output (Вывод).
do {
var k = k+l;
} while (k<=10);
trace(k);
unloadMovie
CM. Unload Movie в разделе «Основные операции».
var
Определяет некоторую переменную как локальную. Эта операция особенно часто используется в функциях, когда в сценарии обрабатывается несколько кнопок, кадров или клипов.
function counter () {
var k = l;
}
while
Инструкция цикла, которая позволяет определить условие выхода из цикла перед началом его выполнения; выполнение цикла продолжается, пока заданное условие является истинным. Если перед первой итерацией цикла условие не выполняется, тело цикла не будет выполнено ни разу. Таким образом, это цикл с предусловием. См. также do while.
on (release) {
wh11e(k<9) {
k = k+1;
}
box=k:
}
with
Данная инструкция позволяет адресовать определенный объект; этот объект используется по умолчанию для всех инструкций, заключенных в фигурные скобки {}, следующие за ключевым словом with. Эта операция рекомендуется в качестве альтернативы устаревшей операции tellTarget. В фигурных скобках может находиться несколько инструкций.
on (release) {
with(_root.show) {
_rotation=35;
_alpha=76;
}
}
Операторы
! — восклицательный знак используется для обозначения логической операции отрицания.
Превращая логическое значение (true или false) в его противоположность,
оператор отрицания позволяет проверить отсутствие определенного условия.
if (!Key.1sDown(Key.ESCAPE)) {
Disр1ау="Нажмите клавишу escape.";
}
!= — проверка условия неравенства.
m=10;
j=12;
if (m != j) {
box = " Они не равны."
}
% — результат деления по модулю.
Целочисленное деление с остатком называется делением по модулю.
В следующем примере остаток от деления, присваиваемый переменной box,
равен 6 (50/11 = 4 с остатком 6).
k=50;
j=ll;
box = k % j;
&& — логическая конъюнкция (И), которая применяется в условных выражениях.
Выражение true&&true дает в результате true;
true&&false дает false; false&& false дает false.
Этот оператор широко применяется при проверке множественных условий.
k=50;
j=11;
х= (k > j);
y= (j > 5):
if (х && у) {
bох= "Все правильно!";
}
В инструкциях с проверкой множественных условий оператор конъюнкции применяется
следующим образом:
if ((total == all) && (total >= last()) {
output="Баланс подведен; в третьем квартале он положителен.";
}
( ) — группировка операций с целью изменить порядок их выполнения.
k = (5 + w) * (34-v);
* — умножение чисел или числовых переменных.
k = 12 * х;
+ — сложение чисел или числовых переменных; конкатенация строк.
k = x + 7;
xyz = "Быстродействие" + "память";
++ — операция инкремента для переменных; чаще всего используется в цикле 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 = 52;
if (k <> x) {
box = "Нет ничего общего.";
}
== — оператор сравнения;
значение выражения будет равно true, если значение слева равно значению справа.
Одиночный знак равенства = используется для присваивания;
в условных выражениях требуется двойной знак ==.
var k = 29;
var x = 29;
if (k == x) {
box = "Они точно равны.";
}
> — оператор сравнения;
значение выражения будет равно true, если значение слева больше, чем значение справа.
var kid = 15;
var parent = 40;
if (k1d > 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 ((k > j) || (j < 26)) {
box = "Достаточно и одного.";
}
Поразрядные операторы
При выполнении поразрядных операций числа с плавающей точкой преобразуются в 32-разрядные
целые. Механизм поразрядных операторов требует представлять вещественные числа целыми.
Однако если вы не можете жить без двоичного мира, состоящего из нулей и единиц,
значит у вас уже есть соответствующий опыт и для вас вполне достаточно следующего краткого описания.
& — поразрядная конъюнкция.
<<, >>, >>> — операторы поразрядного сдвига.
^ — поразрядная исключительная дизъюнкция.
| — поразрядная дизъюнкция.
~ — поразрядное дополнение.
Составные операторы
Эти операторы представляют собой сокращенную форму записи других операций. У всех составных операторов есть одно общее свойство: сначала выполняется операция, находящаяся в правой части инструкции присваивания, а затем ее результат добавляется к значению переменной, расположенной слева от знака присваивания.
Х = Х * Y;
Х += 1;
Приведенные выше инструкции эквивалентны следующим операциям:
Х *= Y;
Х = Х + 1;
Привыкнув к формату записи составных операторов, вы наверняка оцените
их по достоинству.
%= — составное деление по модулю.
&= — составная поразрядная конъюнкция.
*= — составное умножение.
-= — составное вычитание.
/= — составное деление.
<<= — составной поразрядный сдвиг влево.
>>= — составной поразрядный сдвиг вправо.
>>>= — составной поразрядный сдвиг вправо без знака.
^= — составная исключительная дизъюнкция.
|= — составная поразрядная дизъюнкция.
Строковые операторы
К числу строковых операторов относятся строковые эквиваленты операторов сравнения, применяемых для чисел. Для большинства строковых операторов в настоящее время существуют универсальные эквиваленты — операторы, которые применяются для обработки как строковых, так и нестроковых выражений. Сравнение строк производится на основе алфавитного порядка букв. Наименьший вес при сравнении имеет буква "А", а наибольший — буква «Z». Следовательно, строка "Z" больше строки "А". Символы нижнего регистра считаются большими, нежели символы верхнего регистра. Поэтому "а" больше "Z".
Перечисленные ниже строковые операторы следует применять, если вы работаете над фильмом, который должен быть совместим с форматом Flash 4.
add — конкатенация (склейка) строк.
В приведенном ниже примере переменная box получит значение "Привет!".
Наряду с оператором add вы можете использовать оператор +.
Данный оператор пришел на смену оператору &, который выполнял аналогичные
функции в системе Flash 4.
k = "При":
j = "вет!";
var welcome = k add j;
box = welcome;
eq — проверка условия равенства двух строк.
Наряду с оператором eq можно использовать оператор ==.
var Apples = "яблоки";
var 0range = "апельсины";
if (Apples eq 0range) {
box = "Одно и то же!":
}
else {
box = "Разные вещи!";
}
ge — оператор «не меньше» для строк.
Учтите, что сравниваются значения строковых переменных, а не их имена.
Наряду с оператором ge можно использовать оператор >=.
var Z = "Антилопы";
var А = "Зебры";
if (A ge Z) {
box = "Важны лишь значения переменных!";
}
gt — оператор «больше» для строк.
Наряду с оператором gt можно использовать оператор >.
var lс = "а";
var uc = "W";
if (lс gt uc) {
box = “Нижний регистр больше верхнего”;
}
le — оператор «не больше» для строк.
Наряду с оператором lе можно использовать оператор <=.
var Same = "Двойня";
var Osame = "Двойня";
if (Same 1е Osame) {
box = "Двойня это хорошо!";
}
lt — оператор «меньше» для строк.
Наряду с оператором It можно использовать оператор <.
var Fatso = "Толстяк";
var TooSlim = "Тощий";
if (TooSlim lt Fatso) {
box = "Съешьте что-нибудь!";
}
ne — оператор «не равно» для строк.
Наряду с оператором ne можно использовать оператор !=".
var A = "яблоки";
var 0range = "апельсины";
if (А ne 0range) {
box = "И все-таки они разные!";
}
Функции
Boolean
Приводит значение выражения к типу Boolean (логическому). В приведенном ниже примере переменная box получит значение true.
var a = "Иван" var;
k = "Василий";
var j = Boolean (a != k);
box = j;
escape
Возвращает значение ASCII-кода для заданного символа, входящего в набор ISO Latin-1. Например, следующая инструкция возвратит код “%21”, который и будет присвоен переменной а.
var а = escape ("!")
eval
Возвращает значение переменной, или свойства, либо ссылку на объект. При создании псевдомассивов (например, clipl, c1ip2, с1iр3 и т. д.) имя переменной и число (как правило, числовая переменная) конкатенируются и составляют новое имя переменной. Впрочем, в фильмах в формате Flash 5 рекомендуется отказаться от псевдомассивов, применяя вместо них средства объекта Array. В первом из приведенных ниже примеров будет возвращено значение свойства _a1pha, а во втором — адрес.
out = eva1 ("_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._х;
getTimer
Возвращает количество миллисекунд, прошедших с момента начала воспроизведения текущего фильма.
timer = getTimer ();
int
Возвращает значение, полученное отбрасыванием дробной части числового параметра. В следующем примере эта функция возвращает значение 34. В настоящее время вытесняется функцией parseInt.
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.d1sp1ay.maxscroll;
newline
Применяется для вставки символа перевода строки (или возврата каретки).
var k = "Верх";
var b = "Низ";
var с = (k + newline + b);
box = c;
number
Преобразует значение выражения в число с плавающей точкой либо в логическое число. Возвращает значение 0, если в качестве параметра было передано нечисловое значение. Данная функция рекомендуется только для использования в совершенно определенных целях. Она была задумана как одно из средств, обеспечивающих преобразование файлов Flash 4 в формат Flash 5. В большинстве случаев вместо нее предпочтительно использовать функции parseInt или parseFloat.
k = "145.76";
j = number (k);
box = j * 2;
parseFloat
Преобразует строку в число с плавающей точкой. Если строка не является допустимым представлением числа, возвращается значение NaN. В следующем примере мы имеем дело именно с такой ситуацией. Знак доллара ($) не позволяет рассматривать строку п как число. В результате при попытке осуществить преобразование значения п в число будет возвращено значение NaN. Чтобы обрабатывать ошибки преобразования строк в числа, можно использовать функцию isNan.
n = "$935.63";
j = parseFloat (n);
box = j * 3;
parseInt
Преобразует строку в целое число; цифры после десятичной точки при этом просто отбрасываются. В следующем примере данная функция возвратит значение 874.
n = "874.87";
j = parselnt (n);
box = j;
random
Генерирует случайное число в диапазоне от 0 до n-1, где n — некое положительное целое число, передаваемое данной функции в качестве параметра. В следующем примере будет возвращено случайное число, находящееся в диапазоне от 0 до 8.
var x = random (9);
box = x;
scroll
При прокрутке устанавливает значение номера первой строки, отображаемой на экране в текстовом поле, с которым связана заданная переменная. Обновлять отображение прокручиваемого текстового поля на экране можно, изменяя значение данной функции (увеличивая его при прокрутке текста вверх и уменьшая при прокрутке вниз). Например, при каждом обращении к следующему сценарию текст будет прокручиваться на четыре строки вверх.
on (release) {
_root.My_Text.scroll = х +4;
}
string
Преобразует число в строку. Такое преобразование необходимо, например, для добавления символа национальной валюты к числу, выражающему сумму денег.
bar money = 782.21;
var cmoney = string (money);
var showmoney = cmoney+”руб.”;
box = showmoney;
targetPath
Возвращает путь к заданному клипу в виде строки. При этом допускается косвенная адресация.
targetPath (_root.fender[j+2]) {
...
}
true
Литерал, соответствующий логическому значению «истина».
var flag = true;
unescape
Обратная функция для функции escape. Данная функция применяется для преобразования ASCII-кода в символ, входящий в набор ISO Latin-1. В следующем примере будет возвращен символ «восклицательный знак» (!), посколькуего ASCII-код равен %21.
var а = unescape("%21");
updateAfterEvent
Обеспечивает обновление содержимого экрана при выполнении операций с клипами независимо от текущей частоты кадров. Помогает более плавно представлять зрителю операции перетаскивания.
onClipEvent (mouseDown) {
startDrag (mcCoo1, true, 100, 250, 200, 250);
updateAfterEvent (mouseDown)
}
onCHpEvent (mouseUp) {
stopDrag();
updateAfterEvent(mouseUp)
}
Строковые функции
Для всех строковых функций существуют эквивалентные методы объекта String. Строковые функции использовать в фильмах в формате Flash 5 не рекомендуется.
chr
Возвращает символ, ASCII-код которого передан функции в качестве параметра. У строчных и прописных букв разные коды. В следующем примере использован код буквы «А».
v = chr (65);
length
Возвращает длину строки. В следующем примере функция возвращает число 11.
k = length ("Иванов Иван");
ord
Возвращает ASCII-код символа. В следующем примере переменная v получит значение 97.
v = ord (“a”);
substring
Возвращает подстроку, заданную комбинацией параметров <имя строковой переменной>, <начальная позиция> и <длина>. Под начальной позицией понимается номер символа, за которым начинается нужная подстрока. Длина — это количество символов, которые должны быть включены в подстроку. В следующем примере из строки “Электропаяльник" извлекается подстрока “паяльник”.
k = substring ( ”Электропаяльник", 7, 8);
mbchr
Мультибайтная версия функции chr.
mbiength
Мультибайтная версия функции length.
mbord
Мультибайтная версия функции ord.
mbsubstring
Мультибайтная версия функции substring.
Свойства
_alpha
Степень прозрачности объекта (хотя лучше бы называть степенью непрозрачности). Шкала прозрачности находится в диапазоне от 0 (для полностью прозрачных объектов) до 100 (для совершенно непрозрачных объектов). Таким образом, прозрачность выражается в процентах.
SetProperty (My_clip. _alpha. 50);
_currentframe
Свойство только для чтения, которое содержит информацию о текущем кадре фильма (клипа).
k = _root.My_clip._current frame;
_droptarget
Свойство только для чтения; содержит имя клипа, на который перетаскивается другой клип.
k = _root.My_clip._droptarget;
_focusrect
Используется для отображения на экране желтого прямоугольника, появляющегося вокруг кнопок по нажатию клавиши табуляции при переключении между ними. Это глобальное свойство, принимающее значения true и false.
_root,My_clip._focusrect = true;
_framesloaded
Свойство только для чтения, которое содержит текущее число кадров, загруженных в клипе.
k = _root.Myclip._framesloaded;
_height
Возвращает высоту клипа в пикселах, как в первом примере. Значение высоты может быть изменено, как во втором примере.
a = _root.My_clip._height;
box = a;
onClipEvent (keyDown) {
_root.My_clip._height = 120;
}
_highquality
Это свойство позволяет включать и отключать режим высокого качества экранных изображений. Принимает логические значения.
_highquality = false;
_name
Это свойство позволяет задавать имя и переименовывать клип в тексте сценария. Операции, выполняемые над этим свойством, применяются к имени выделенного экземпляра. В следующем примере клип My_clip получает имя sam. Затем новое имя используется при выполнении операции поворота этого клипа на 55 градусов.
_root,My_clip._name = “sam”;
_root.sam._rotation = 55;
_quality
Глобальное свойство, которое определяет качество экранных изображений. Принимает строковые значения LOW (низкое), MEDIUM (среднее), HIGH (высокое) и BEST (самое высокое); использование прописных букв обязательно. Возможно, данное свойство со временем полностью вытеснит свойство _highquality.
_quality = BEST;
whatQuality = _quality;
_rotation
Свойство, определяющее угол поворота, задается в градусах (от О до 360). Для поворота против часовой стрелки можно использовать отрицательные значения. Для задания угла поворота необходимо указать путь к клипу.
_root.My_clip._rotation = 210;
_soundbuftime
Глобальное свойство, задающее время предварительной загрузки, предшествующей началу воспроизведения звука. По умолчанию это время равно пяти секундам.
_soundbuftime = 12;
_target
Имя экземпляра клипа. При необходимости имя экземпляра можно изменить. В следующем примере клип с именем экземпляра My_clip получает имя new_clip.
_root.My_clip._target = "new_clip";
_totalframes
Возвращает общее число кадров в клипе.
on (release) {
tf = My_clip._totalframes;
box = tf;
}
_url
Свойство только для чтения, содержит URL-адрес клипа.
location = _root,My_clip._url;
_visible
Возвращает логическое значение, указывающее, является ли видимым заданный клип.
on (release) {
_root. My_clip. visible = false;
}
_width
Возвращает ширину клипа в пикселах. Значение этого свойства может изменяться. Ср. _height.
on (release) {
_root.My_clip. _w1dth =50;
}
_x
Возвращает горизонтальную позицию заданного клипа. Ср. _y.
on (release) {
_root. My_clip._x = 250;
}
_xmouse
Текущая позиция курсора мыши на горизонтальной оси координат (оси X), задаваемая относительно центра указанного клипа. При перемещении клипа меняется и относительное значение свойства _xmouse. См. также _ymouse.
var mposX = _root. My_clip._xmouse;
_xscale
Относительная ширина заданного клипа по горизонтальной оси координат (оси X). В следующем примере производится увеличение масштаба клипа по горизонтали до 200 %. См. также _yscale.
_root. My_clip._xscale = 200;
_у
Возвращает вертикальную позицию заданного клипа. См также _х.
on (release) {
_root. My_clip._y =118;
}
_ymouse
Текущая позиция указателя мыши по вертикальной оси (оси Y), задаваемая относительно центра указанного клипа. При перемещении клипа меняется и относительное значение свойства _yniouse. См. также _xmouse.
on (release) {
уНеге = _root. My_clip _ymouse;
}
_yscale
Относительная высота заданного клипа по вертикальной оси. В следующем примере производится установка вертикального масштаба, равного 50 %. См. также _xscale.
on (release) {
_root. My_clip._ysca1e = 50;
}