В. Дронов - Macromedia Flash Professional 8. Графика и анимация
Объект String представляет собой обычную строку. Пользуясь его свойствами и методами, можно выполнять различные манипуляции над строками.
Создать экземпляр объекта String можно одним из двух способов, как показано в следующих примерах:
var s = new String("Flash");
var s = "Flash";
Как правило, чаще используется второй способ — он и компактнее в записи, и привычнее.
Свойство length объекта String позволяет получить (или, как говорят программисты, "возвращает") длину строки в символах. Например:
1 = s.length;
Метод сharAt объекта String возвращает символ строки, номер позиции которого в строке был передан в качестве единственного параметра метода:
ch = s.charAt(s.length — 1);
Внимание!Нумерация символов строки начинается с нуля.
После выполнения выражения из приведенного примера в переменной ch окажется предпоследний символ строки s.
Метод indexof возвращает номер вхождения подстроки в строку. Если подстрока не найдена, возвращается — 1. При этом можно вторым параметром передать в метод номер вхождения, с которого начнется поиск:
<Строка>.indexOf(<Подстрока>, [<Номер вхождения>])
Например:
s = "Macromedia Flash 8";
n = s.indexOf("a", 2);
После выполнения этого сценария в переменной п окажется число 13 — именно под таким номером стоит символ "а" в слове "Flash".
Метод last indexOf схож с методом indexOf, только ищет подстроку не слева направо, а справа налево, т. е. с конца строки.
Методы toLowerCase и toUpperCase преобразуют все символы строки соответственно к нижнему и верхнему регистру.
Объект NumberОбъект Number представляет собой обычное число. Пользуясь его свойствами и методами, мы можем выполнять различные манипуляции над числовыми данными.
Создается экземпляр объекта Number одним из двух способов:
var n = new Number(232);
var n = 232;
Второй способ нам уже знаком, поэтому будем пользоваться им и впредь. Метод toString объекта Number возвращает строковое представление числа:
s = n.toString ();
Помимо данного метода, объект Number имеет ряд свойств, возвращающих различные "специальные" значения. Так, свойства MIN_VALUE и MAX_VALUE позволяют узнать соответственно минимальное (примерно 5×10-324) и максимальное (примерно 1,79×10308) значения, которые могут быть присвоены числовой переменной ActionScript. А свойства NEGATIVE_INFINITY и POSITIVE_INFINITY возвращают соответственно значения — ∞ и ∞.
Объект BooleanОбъект Boolean представляет собой обычную логическую величину. С его помощью можно выполнять различные манипуляции над логическими данными.
Создается экземпляр объекта Boolean одним из двух приведенных ниже способов:
var b = new Boolean(true);
var b = true;
Метод toString объекта Boolean возвращает строковое представление логической величины — "true" или "false" соответственно:
s = b.toString ();
Объект DateОбъект Date предназначен для хранения значения даты и времени, закодированных особым способом в виде числа.
Экземпляр объекта Date создается так:
var <Имя переменной> = new Date([<Год>, <Месяц>, [<Число>
[, <Часы>[, <Минуты> [, <Секунды> [,<Миллисекунды>]]]]]])
Вот краткое описание приведенных выше параметров:
□ Год может быть задан двумя или четырьмя цифрами. С четырьмя цифрами все просто; если же год задан двумя цифрами, то значение 0 соответствует 1900 году, а 99 — 1999 году;
□ Месяц задается значением от 0 (январь) до 11 (декабрь);
□ Дата задается значением от 1 до 31;
□ Минуты и Секунды задаются значениями от 0 до 59;
□ Миллисекунды задаются значением от 0 до 999.
Если же ни один из параметров не указан, в экземпляр объекта Date заносится текущая дата.
Объект Date имеет огромное количество методов, возвращающих или задающих различные "части" значения даты. Так, метод getMonth возвращает текущее значение месяца, а метод setMonth позволяет задать месяц, не меняя других "частей" даты. А уже знакомый нам метод toString возвращает строковое представление даты, используя региональные установки операционной системы.
Объект ArrayОбъект Array представляет собой массив. С его помощью можно выполнять над массивами различные манипуляции.
Создать массив можно одним из четырех приведенных ниже способов:
var arr = new Array();
var arr = new Array(<Размер>);
var arr = new Array(<Список элементов, разделенных запятыми>);
var arr = [<Список элементов, разделенных запятыми>];
Последний способ нам уже знаком — именно так мы создавали наши первые массивы. При использовании первого способа созданный массив будет иметь нулевой размер, т. е. не будет содержать ни одного элемента. При создании массива вторым способом все его элементы будут содержать значение undefined.
Свойство length объекта Array позволяет нам узнать размер массива.
1 = arr.length;
Метод reverse объекта Array изменяет порядок следования элементов массива на противоположный. А метод toString возвращает строку, содержащую значения всех элементов массива, разделенные запятыми.
Объект MathОбъект Math предоставляет доступ к встроенным константам и математическим и тригонометрическим функциям языка ActionScript. Единственный экземпляр этого объекта создается самим Flash.
Методы sin, cos и tan объекта Math позволяют вычислить соответственно синус, косинус и тангенс угла, заданного в радианах. Метод sqrt вычисляет квадратный корень. Метод pow (х, у) возводит х в степень у.
Кроме того, объект Math имеет несколько свойств, возвращающих значение различных математических констант. Так, свойство PI возвращает значение числа π. А свойство Е возвращает значение основания натурального логарифма.
Объект ObjectОбъект object — простейший из объектов, предоставляемых языком ActionScript. Он обладает минимальным набором свойств и методов и служит для создания на его основе других объектов и различных вспомогательных целей.
Работа с клипами
Продолжаем изучение языка ActionScript. Поговорим о клипах (в смысле, экземплярах образцов-клипов) и выясним, какие инструменты для работы с ними предоставляет ActionScript. А таких инструментов немало…
Все находящиеся на рабочем листе клипы, для которых было задано имя, равно как и сам фильм, представляют собой экземпляры объекта MovieClip. Их создает сам Flash; нам же остается только использовать их свойства и методы.
Все клипы имеют тип данных "клип". Оператор typeof при передаче ему в качестве параметра клипа вернет строку "movieclip".
Доступ к нужному клипу
Прежде чем приступить к изучению объекта movieClip, нам следует выяснить, как же получить доступ к его экземплярам, т. е. клипам и самому фильму.
В начале этой главы говорилось, что обращение к экземпляру объекта осуществляется по его имени. Имя клипа задается с помощью панели Properties, а именно, поля ввода, расположенного в ее левом верхнем углу.
Задав имя клипа, мы можем получить к нему доступ из сценария. Так, если на рабочем листе присутствует клип саг, то для остановки вложенной в него анимации мы можем создать во внешней анимации такой сценарий, привязав его, скажем, к кнопке:
car.stop();
Здесь мы указываем имя соответствующего экземпляра объекта movieClip и, через точку, — метод stop, останавливающий воспроизведение анимации.
Если же мы хотим остановить вложенную анимацию клипа car из самого этого клипа, то нам нужно слегка изменить написанный нами сценарий: