Macromedia Flash Professional 8. Графика и анимация
Шрифт:
2. Деление d на 2.
3. Сложение b и произведения с и 10.
4. Вычитание из полученной суммы частного от деления d на 2.
5. Прибавление 9 к полученной разности.
Получается совсем другой результат, не так ли?
Комментарии
Очень часто при написании сценариев возникает потребность поместить в код ActionScript какие-либо примечания для себя или коллег по работе. Для этого используются особые выражения языка ActionScript,
Для вставки комментариев в код ActionScript предусмотрены два оператора комментария: // и /*. */. Первый из них позволяет вставить в конец выражения однострочный комментарий:
// Строка комментария
а = b + с; // Это однострочный комментарий
Заметим, что комментарий ставится после точки с запятой, обозначающей конец выражения.
А оператор /*…*/ позволяет вставить в код программы комментарий любого размера:
/*
В этом выражении мы складываем содержимое двух переменных и помещаем результат в третью */
а = b + с;
Сложные выражения ActionScript
Рассмотрение основных понятий ActionScript мы закончили. Можно приступать к изучению более сложных вопросов. И начнем мы с написания так называемых сложных выражений.
Сложные выражения получили свое название благодаря тому, что все они составлены из нескольких простых выражений. Сложные выражения выполняются особым образом и служат для особых целей — в основном для управления процессом выполнения содержащихся в них простых выражений.
Блоки
ActionScript позволяет нам объединить несколько выражений в одно. Такое выражение называется блочным выражением или просто блоком. Для выделения блочного выражения составляющие его выражения заключаются в фигурные скобки, например:
{
b = "12";
с = а — b;
}
Как правило, блоки не используются сами по себе. Чаще всего они входят в состав других сложных выражений. Также с их помощью пишутся обработчики событий.
Условные выражения
Условное выражение позволяет нам выполнить одно из двух входящих в него выражений в зависимости от выполнения или невыполнения какого-либо условия. Существует также другая, "вырожденная" разновидность условного выражения, содержащая только одно выражение, которое выполняется при выполнении условия и пропускается, если условие не выполнено.
Что может служить условием в условном выражении? Значение логической переменной или результат вычисления логического выражения. В качестве же выражений, которые должны быть выполнены или не выполнены, в зависимости от условия, могут быть использованы блоки.
Условное выражение имеет следующий формат:
if
(<Условие>).
<Блок "то">
else
<Блок "иначе ">
"Вырожденный" формат его выглядит так:
if (<Условие>).
<Блок "то">
Для
Рассмотрим несколько примеров.
if (х == 1) {
а = "Единица";
b = 1;
}
else {
а = "Не единица";
b = 22222;
}
Здесь мы сравниваем значение переменной х с единицей и в зависимости от результатов сравнения присваиваем переменным f и h разные значение. Обратим внимание на условие — именно так записывается оператор сравнения, в скобках.
Условие может быть довольно сложным:
if ((х == 1) && (у > 10))
f = 3;
else
f = 33;
Здесь мы использовали сложное условие, возвращающее значение true в случае, если значение переменной х равно единице и значение переменной у больше десяти. Заметим также, что мы подставили одиночные выражения, так как фрагменты кода слишком просты, чтобы оформлять их в виде блоков.
Если условное выражение совсем простое, мы можем записать его немного по-другому. А именно, воспользоваться условным оператором?:
<Условиe>? <Выражение "то">: <Выражение "иначе">;
Достоинство этого оператора в том, что он может быть частью выражения. Например:
f = (х == 1 && у > 10)? 3: 33;
Фактически мы записали условное выражение из предыдущего примера, но в виде обычного арифметического выражения. Компактность кода налицо. Недостаток же оператора? в том, что с его помощью можно записывать только самые простые условные выражения.
Выражения выбора
Выражение выбора — это фактически несколько условных выражений, объединенных в одном.
Его формат таков:
switch (<Условиe>) {
case <Значение 1>:
<Блок 1>
[break;]
[case <Значение 2>:
<Блок 2>
[break;]]
<… Другие секции case>
[default:
<Блок, исполняемый для остальных значений>]
}