2.2. ActionScript 3 как язык для работы с Flash-анимацией
ActionScript - это объектно-ориентированный язык программирования, в основе которого лежит программный код. Код можно представить как инструкции, которые говорят flash-приложению, что нужно делать. Инструкции ActionScript записываются на языке программирования ActionScript. Когда происходит несколько инструкций подряд, создается программный код. Возможно управление частями кода, вводя определенные параметры. Например, если задать команду flash-приложению найти определенный кадр и начать воспроизведение фильма. Программируя это действие, необходимо ввести нужные параметры для определенной функции, точно определяя необходимый кадр.[3]
В ActionScript можно писать инструкции, которые заставят flash реагировать на нажатие пользователем кнопки мыши или клавиши во время просмотра фильма или запросить определенную информацию от пользователя и, затем, отреагировать на нее. Также можно использовать ActionScript для анимации объектов в фильме, а, написав необходимые инструкции, создавать сложные интерактивные элементы.
Для записи кода во flash-анимацию удобней всего использовать определенные кадры на временной шкале. Для того что бы перейти непосредственно к написанию кода необходимо выбрать нужный код, нажать на него правой кнопкой мыши и выбрать пункт действия, после чего откроется соответствующее окно.
В основу языка ActionScript 3.0 положены объекты, они являются его главным конструктивным материалом. Каждая объявленная переменная, каждый созданный экземпляр класса являются объектами. Программу на ActionScript 3.0 можно рассматривать как группу объектов, выполняющих задачи, реагирующих на события и взаимодействующих друг с другом.
Чтобы объявить переменную, необходимо использовать инструкцию var с именем переменной. В ActionScript 2.0 использование инструкции var требуется, только если используются аннотации типов. В ActionScript 3.0 использование инструкции var требуется всегда. Для связи переменной с типом данных это необходимо при объявлении переменной. Объявление переменной без указания ее типа разрешено, но при этом будет создаваться предупреждение в строгом режиме компилятора. Тип переменной назначается добавлением к имени переменной двоеточия (:) с последующим указанием типа этой переменной[4].
var i:int;
Значение переменной можно задать, используя оператор присваивания (=). Например, в следующем коде объявляется переменная i и ей назначается значение 20.
var i:int;
i = 20;
Язык ActionScript 3.0 чувствителен к регистру. Идентификаторы, различающиеся только значением регистра, считаются разными идентификаторами. Например, в следующем программном коде создаются две разные переменные.
var num1:int;
var Num1:int;
Технология назначения значения переменной во время ее объявления широко используется не только при назначении примитивных значений, таких как целочисленные значения и строки, но также при создании массивов или создании экземпляров классов. В следующем примере показано, как в одной строчке программного кода создается массив и ему присваивается значение.
Var numArray:Array = ["zero", "one", "two"];
Операторы являются специальными функциями, принимающими один или несколько операндов и возвращающими значения. Операнд — это значение, обычно литерал, переменная или выражение, которые оператор использует в качестве входных данных. Например, в следующем программном коде операторы сложения (+) и умножения (*) используются с тремя литеральными операндами (2, 3 и 4) для получения значения. Это значение затем используется оператором присваивания (=), чтобы назначить возвращаемое значение, 14, переменной sumNumber[3].
varsumNumber:uint = 2 + 3 * 4; // uint = 14
Операторы могут быть унитарными, бинарными или тернарными
Унитарный оператор принимает один операнд. Например, оператор инкрементального увеличения (++) является унитарным оператором, поскольку он принимает только один операнд.
Бинарный оператор принимает два операнда. Например, оператор деления (/) принимает два операнда.
Тернарный оператор принимает три операнда. Например, оператор условия (?:) принимает три операнда.
Некоторые операторы являются перегруженными, это означает, что они ведут себя по-разному в зависимости от типа или количества переданных им операндов. Оператор сложения (+) является примером перегруженного оператора, который ведет себя по-разному в зависимости от типа операндов. Если оба операнда являются числами, оператор сложения возвращает сумму этих значений. Если оба операнда являются строками, оператор сложения возвращает последовательное соединение двух операндов. В следующем программном коде показано, как оператор по-разному ведет себя в зависимости от операндов.
trace(5 + 5); // 10
trace("5" + "5"); // 55
Инструкция условия if..else позволяет проверить условие и выполнить блок программного кода, если это условие соблюдено, либо выполнить другой программный код, если условие нарушено. Например, в следующем программном коде проверяется, превышает ли x значение 20, создается функция trace(), если условие выполняется, или создается другая функция trace(), если это не так.
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is<= 20");
}
Можно проверить больше одного условия, используя инструкцию условия if..else if. Например, в следующем программном коде не только проверяется, превышает ли x значение 20, но также проверяется, не является ли значение x отрицательным.
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
Инструкция switch полезна, если имеется несколько путей выполнения, которые зависят от одного выражения условия. При этом обеспечивается функциональность, сходная с несколькими последовательными инструкциями if..elseif, но несколько более удобно читаемая. Вместо проверки условия для логического значения инструкция switch оценивает выражение и использует результат для определения того, какой блок программного кода следует выполнять[5]. Блоки кода начинаются инструкциями case и заканчиваются инструкциями break. Например, в следующей инструкции switch печатается день недели, на основе номера дня, возвращаемого методом Date.getDay()
varsomeDate:Date = new Date();
vardayNum:uint = someDate.getDay();
switch(dayNum)
{
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
default:
trace("Out of range");
break;
}
ActionScript 3.0 содержит в себе все необходимые компоненты, является объектно-ориентированным языком, содержит в себе различное количество методов для реализации различного вида анимаций или игр. По написанию кода, данный язык можно сравнить с такими языками как С++ или Java.
|