Условный оператор —это такой тип оператора, который исполняется только при выполнении определенного условия. Условные операторы позволяют программе выбирать один из нескольких возможных путей дальнейшего исполнения в зависимости от ее текущего состояния.
В языке 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++, хорошо, что я его учил когда-то.
ОтветитьУдалитьуроки просто класс))
ОтветитьУдалить