Условный оператор —это такой тип оператора, который исполняется только при выполнении определенного условия. Условные операторы позволяют программе выбирать один из нескольких возможных путей дальнейшего исполнения в зависимости от ее текущего состояния.
В языке ActionScript существует два различных условных оператора: оператор if и оператор switch.
Если условное выражение возвращается false, то нечего не выполняется.
Например
Способ 2:
В данном примере, в отличии от предыдущего, в любом случае выполнится какой-либо блок кода, но одновременно может выполнится только один.
Например:
Способ 3:
Вот вам таблица, с её помощью все встанет на свои места:
Для лучшего понимания:
Логическое ИКак и оператор ИЛИ, оператор логического И в основном используется для
условного исполнения блока кода — в данном случае, когда обязательно выполняются
оба условия. Оператор логического И имеет следующий обобщенный вид:
Для лучшего понимания:
Теперь давайте попробуем написать подобную программку: 1. Создайте новый AS3 документ. 2. Создайте текстовое поле, и дайте ему такие настройки: 3. Создайте кнопку для входа, и дайте ей имя "okBtn". Первый кадр готов. Теперь создайте новый кадр, и заполните его чем нибудь подобным: 4. Создайте кадр №3, он будет показан, в том случае, если пароль не верен. На третьем кадре создайте кнопку назад, и дайте ей имя "backBtn". Всё, флешка подготовлена, теперь приступаем к программированию. 5. Создайте новый слой "Action", и на первом кадре напишите код:
Оператор switch позволяет выполнять один из нескольких возможных блоков
кода в зависимости от результата одного условного выражения. Оператор switch можно представить в следующем обобщенном виде:
В языке ActionScript существует два различных условных оператора: оператор if и оператор switch.
Оператор if
Нажимаем Ctrl+Enter, и в окне OUTPUT видим 15. Оператор if напоминает развилку на дороге. Он содержит два блока кода и выражение (называемое условным выражением), которое определяет блок кода для дальнейшего выполнения. Создания оператор if можно разными способами, и в зависимости от способа он будет выполняться по разному.
Способ 1:
Например:
Способ 1:
if (условноеВыражение) {
блокКода
}
Когда флешу встречается такой тип условного оператора if , то если в условное выражение возвращается true, то выполняется блокКода.Например:
var test1:Number=15;
if (test1==15) {
trace(test1);
}
Если условное выражение возвращается false, то нечего не выполняется.
Например
var test1:Number=16;
if (test1==15) {
trace(test1);
}
Способ 2:
if ( условноеВыражение )
{
блокКода1
}
else
{
блокКода1
}
Как писал Колин Мук : "Оператор if напоминает развилку на дороге. Он содержит два блока кода и выражение (называемое условным выражением), которое определяет блок кода для дальнейшего выполнения. "В данном примере, в отличии от предыдущего, в любом случае выполнится какой-либо блок кода, но одновременно может выполнится только один.
Например:
var test2:Number=15;
if (test2==15) {
// этот блок выполнится
trace(test2);
}else
{
// а этот нет
trace(test2+" "+"не равно 15!!!")
}
А теперь попробуйте сами сделать так, что бы выполнился второй блок, а не первый.Способ 3:
if (число яблок >= 4) {
Поделюсь с друзьями
} else if (1 < число яблок < 3) {
Поделюсь с 1 другом
}
} else if (число яблок < 2) {
Съем одна
}
Что это за странная штука " >= ", спросите вы?Вот вам таблица, с её помощью все встанет на свои места:
Булева логика
Ранее в этом уроке вы узнали, как принимаются логические решения с использованием условных выражений, которые возвращают логические значения. Решения принимались на основании одного фактора, например, «если значением переменной равняется 15, то выполнить блок кода». Но не вся программная логика настолько проста. В программах зачастую приходится рассматривать сразу несколько факторов в логике ветвлений (то есть принимать решение). Для объединения нескольких факторов в одном условном выражении применяются логические операторы: | | (логическое ИЛИ) и && (логическое И). (с)Колин Мук.
Логическое ИЛИ
Оператор "или" чаще всего применяют в случаях, когда для выполнения блокаКода должно выполниться по крайней мере одно из двух условий.
Обобщенный вид "или":
выражение1 || выражение2Напомню, что для выполнения блокаКода достаточно, что бы, хотя бы одно из выражений было верным.
Для лучшего понимания:
верно || не верно // блокКода выполнится, поскольку первый операнд верен не верно || верно // блокКода выполнится, поскольку второй операнд верен верно || верно // блокКода выполнится (достаточно,чтобы любой операнд был верен) не верно || не верно // блокКода НЕ выполнится, поскольку оба операнда не верны!В следующем примере выполняется проверка, входит ли указанное число в заданный диапазон. Если число слишком маленькое, нет необходимости в выполнении второй проверки, которая определяет, является ли число слишком большим.
if (num > 0 || num < 100) {
// Этот блок кода выполняется, если значение переменной
// num находится в диапазоне от 1 до 100 включительно
}
Логическое И
условного исполнения блока кода — в данном случае, когда обязательно выполняются
оба условия. Оператор логического И имеет следующий обобщенный вид:
выражение1 && выражение2Напомню, что для выполнения блокаКода требуется, что бы оба выражения были верны.
Для лучшего понимания:
верно && не верно // блокКода не выполнится, поскольку результат второго выражения не верен не верно && верно // блокКода не выполнится, поскольку результат первого выражения не верен верно && верно // блокКода выполнится, поскольку результаты обоих выражений верны не верно && не верно // блокКода не выполнится, поскольку результаты обоих выражений не верны // (достаточно, чтобы результат одного из выражений был // не верен)Рассмотрим использование оператора логического И на примере кода, который выполняется только в том случае, когда значения обеих переменных больше 50:
var a:Number = 100;
var b:Number = 51:
if (a>50 && b>50) {
// Этот блок кода выполняется только в том случае,
// когда значения переменных х и у больше 50
}
Теперь давайте попробуем написать подобную программку: 1. Создайте новый AS3 документ. 2. Создайте текстовое поле, и дайте ему такие настройки: 3. Создайте кнопку для входа, и дайте ей имя "okBtn". Первый кадр готов. Теперь создайте новый кадр, и заполните его чем нибудь подобным: 4. Создайте кадр №3, он будет показан, в том случае, если пароль не верен. На третьем кадре создайте кнопку назад, и дайте ей имя "backBtn". Всё, флешка подготовлена, теперь приступаем к программированию. 5. Создайте новый слой "Action", и на первом кадре напишите код:
//Останавливаем флешку на первом кадре
stop();
// Создаём слушатель для кнопки входа
okBtn.addEventListener(MouseEvent.CLICK,okF);
//Функция входа
function okF(e:MouseEvent):void
{
//Если пароль верен
if (pass.text == "portofollo")
{
//перейти на кадр 2
gotoAndStop(2);
}
//Иначе
else
{
// На кадр 3
gotoAndStop(3);
}
}
Форма входа готова!
6. Теперь на слое "Action" преобразуйте третий кадр в ключевой. Для этого выделите его, и нажмите "F6".
7. Код на третьем кадре:
backBtn.addEventListener(MouseEvent.CLICK,backF);
function backF(e:MouseEvent):void
{
gotoAndStop(1);
}
Все! Наша программка готова!
Забегая на перёд напишу домашнее задание по условному оператору if:
- Сделать такую программку (имя: Flash, пароль: portofollo):
Оператор switch
switch (условноеВыражение)
{
case выражение1 :
блокКода1;
break;
case выражение2 :
блокКода2;
break;
default :
блокКодаЗ;
}
Если результат выражения условноеВыражение не совпадает ни с одним из значений выражений case, то выполняются все инструкции, расположенные за меткой
default.
Пример из жизни, для лучшего понимания:
switch(оценка)
{
case ‘двойка’:
Готовить попу
break;
case ‘Тройка’:
Снова попу :)
break;
case ’Четверка’:
Радовоться
break;
default:
Кричать от счастья
break;
}Ну, вот пожалуй и всё на сегодня! :)
Удачи с домашкой!)



В switch(оценка) не учтены единица и пятерка, а default лучше оставить для не корректных значений
ОтветитьУдалитьif (num > 0 || num < 100) {
ОтветитьУдалить// Этот блок кода выполняется, если значение переменной
// num находится в диапазоне от 1 до 100 включительно
}
Вроде как под определение ((число больше 0) ИЛИ (число меньше ста)) подходят вообще все числа =)
Логично) но мы берём одну переменную, одно число, которое проверяется в обоих блоках. Ну по крайней мере в этом случае.. если я не туплю
Удалитьклассный урок, спасибо!)
ОтветитьУдалитьЯ раньше и не думал, что ActionScript так похож на этот наш C++, хорошо, что я его учил когда-то.
ОтветитьУдалитьуроки просто класс))
ОтветитьУдалить