ActionScript позволяет создавать сценарий для клипа, кнопки или кадра. Каждый такой сценарий жестко связан с соответствующим элементом фильма.
Панель Actions обеспечивает два режима работы.
Обычный режим (Normal Mode) позволяетописать действия путем заполнения соответствующих полей параметров.
Экспертном режиме (Expert Mode) позволяет записывать и корректировать действия непосредственно в окне сценария, работая в нем как в обычном текстовом редакторе.
Режим Normal Mode включаетсяс помощью кнопки Script Assist.
Типы данных
Данные – это сведения, хранимые в памяти. Данные разделяются на типы, в зависимости от их содержимого:
· String – строковый;
· Number – числовой;
· Boolean – логический;
· Null – зарезервированный;
· Undefined – неопределенный;
· Object - объект;
· MovieClip – мультипликационный клип.
Переменные
Переменные представляют собой поименованные области памяти, содержащие какие-либо данные.
При создании сценариев на ActionScript возможно использование трех типов переменных, различающихся областью видимости:
· глобальные (Global variables), которые доступны в сценарии любой временной диаграммы. Глобальные переменные не нужно объявлять. Для создания такой переменной необходимо просто упомянуть ее в тексте программы.
· переменные временной диаграммы (Timeline variables), которые доступны из любой временной диаграммы при условии, что для обращения к ним используется путь назначения (target path);
· локальные (Local variables), которые «видны» только в пределах того программного блока, в котором они объявлены.
Для объявления 2-го и 3-его типа переменных используется операция: var name: Type = value, где name – имя переменной, Type – ее тип, value – значение.
Операции
Любые действия в программе выполняются с помощью некоторого набора команд, записываемых с помощью выражений. Выражение – запись, задающая порядок выполнения действий (операций) над операндами.
Пример: a+b, где a и b – операнды, «+» - операция.
Различаются следующие типы операций:
· унарная – выполняемая над одним операндом;
· бинарная – выполняемая над двумя операндами;
· тернарная – выполняемая над тремя операндами.
Арифметические операции
Символ оператора | Операция | Пример | Значение |
+ | сложение | 3+3.6 | 6.6 |
- | вычитание | 5-7.1 | -2.1 |
* | умножение | 5.3*2 | 10.6 |
/ | деление | 9/3 | 3 |
% | вычисление остатка от деления | 5%2 | 1 |
- | унарный минус | -5 | -5 |
Более сложные математические операции при помощи специальных функций, встроенных во Flash. Все они содержатся в объекте Math, за которым следует точка и имя функции.
Например:
· функция Math.sqrt вычисляет квадратный корень числа.
· Функция Math.random () генерируется случайные десятичные значения между 0.0 и 1.0.
Операторы инкремента и декремента
Выполняют, соответственно, увеличение и уменьшение значения на 1. Записываются в виде «++» или «--».
Пример: i++;
Операции сравнения
Выполняют сравнение величин; возвращают результат сравнения в форме значения true (истина) или false (ложь) - табл. 2.
Символ оператора | Операция | Пример | Значение |
== | равно | 2=3 | false |
!= | не равно | 2.6!=5 | true |
< | меньше | 3<9 | true |
> | больше | 6>10 | false |
<= | меньше или равно | 10<=10 | true |
>= | больше или равно | 9>=5 | true |
Таблица 2. Операции сравнения
Строковые операции
Выполняют сравнение строк посимвольно в алфавитном порядке и конкатенацию строк (concatenation – соединение, сцепление) – строковое сложение. Например, результат выражения “при”+”вет” будет строка “привет”.
Логические операции
Выполняют операции конъюнкции (логическое И (AND)), дизъюнкции (логическое ИЛИ (OR)) и логического отрицания (логическое НЕ (NOT)).
· логическое И - &&;
· логическое ИЛИ - ||;
· логическое НЕ -!.
Условные выражения
Оператор if выполняет проверку некоторого условия, указанного в круглых скобках. Если результат проверки – истина (true), то последующий фрагмент программы, заключенный в фигурные скобки, выполняется, если ложь (false) - то не выполняется:
if (условие)
{
Фрагмент кода программы;
}
где: «условие» – выражение, которое может принимать значение «true» или «false»;
«фрагмент кода программы» – один или несколько операторов, которые выполняются в том случае, если значение выражения - истинна.
Пример:
if (num >5)
{ trace (“Число больше 5”);}
Условный оператор if может быть дополнен оператором else. Последний будет выполнять фрагмент кода программы в случае, если результат выполнения условия – ложь (false):
if (условие)
{
Фрагмент кода программы 1;
}
else
{
Фрагмент кода программы 2;
}
Можно задать несколько условий для сравнения через and или or.
Если условие не верно, то можно осуществить проверку на следующее условие (else if).
Циклы
При решении некоторых задач необходимо неоднократно повторять одни и те же вычисления. Повторяемые группы команд принято называть циклами.
Оператор цикла for
for (значение; условие; изменения)
{
Фрагмент кода программы;
}
где значение – начальное значение переменной, условие – условие выполнения цикла, т.е. цикл будет выполняться, пока это условие выполняется (истинно), изменения – изменения переменной, которые будут производиться на каждом витке.
Пример: отображение на экране чисел от 0 до 20.
for (i=0; i<=20; i++)
{
trace (i);
}
Оператор цикла while
Является циклом с предусловием. Цикл while продолжает выполняться до тех пор, пока условие в начале выражения while верно.
while (условие)
{
Фрагмент кода программы;
}
где сначала вычисляется значение «условия», если оно истинно, то фрагмент кода программы будут выполняться до тех пор, пока выражение «условие» не станет ложным.
Пример:
num=0;
while (num<20)
{trace (num);
num ++;}
Оператор цикла do – while
В цикле do, наоборот, условие находится в конце цикла.
do
{
Фрагмент кода программы;
}
while (условие)
в котором сначала один раз выполнится Фрагмент кода программы, затем вычисляется значение выражения «условие» - в случае, если оно истинно, выполнение цикла продолжится. Цикл завершится, когда выражение «условие» станет ложным.
Пример:
num =5;
do
{
trace (num);
num++;
}
while (num<5)
В результате будет один раз выведено на экран число 5, но дальше выполнение цикла не произойдет, так как значение переменной num увеличится на 1 и условие выполнения цикла станет ложным.
Создание функций
Функция - последовательность команд, имеющая имя (идентификатор), которая может быть использована многократно.
Объявление (создание) функции:
function name (par 1, par 2,...)
{
фрагмент кода программы;
}
где function - служебное слово, указывающее на начало создания функции; name - имя функции, необходимое для ее дальнейшего запуска; круглые скобки могут быть пустыми или содержать список переменных, задаваемых при вызове функции, фрагмент кода программы - действия, выполняемые при запуске функции.
Пример - функция, считающая сумму 2-х чисел.
function sum(a, b) {
с = a + b;
return c;
}
Значения a и b называются формальными параметрами, т.к. они описывают, какого рода данные принимает функция. Фактические значения указываются при вызове функции.
После выполнения функции команда return посылает значение, с обратно к sum.
Вызов функции происходит следующим образом: указывается имя функции и круглые скобки. Если в функцию не нужно передавать данные, то скобки остаются пустыми. Если же нужно, то в них через запятую перечисляются фактические параметры.
Пример - вызов функции.
trace (sum (7, 12));