Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.07.2015, 01:24
Aivasov вне форума Посмотреть профиль Отправить личное сообщение для Aivasov Найти все сообщения от Aivasov
  № 1  
Ответить с цитированием
Aivasov

Регистрация: Jul 2015
Сообщений: 1
Attention if и else

Изучаю ActionScript, дошел до главы If Else^ Вроде все понял открыл flash и написал код

Код AS3:
var dir:String = "Красный";
 
if (dir=="Красный");
{
	trace ("Красный свет дороги нет");
}
 
else if (dir=="Желтый");
{
	trace ("Желтый свет готовься к пути");
}
else if (dir=="Зеленый");
{
	trace ("А зеленый свет гони");
}
 
else 
	trace ("Заглуши машину");
компилю и флешь выдает ошибку
1083: Синтаксическая ошибка: else не ожидается

Старый 17.07.2015, 08:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не надо ставить точки с запятой после условия.
Это как. Точка посреди предложения.
__________________
Reality.getBounds(this);

Старый 17.07.2015, 08:49
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 3  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
зачем точка с запятой после if и else if ?

Старый 17.07.2015, 22:21
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 4  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
да точки с запятой не ставь, но за это по-моему выдает предупреждение , а ошибка в скобках {} точнее в их отсутствии
Код AS3:
else 
	trace ("Заглуши машину");
это твои последние строчки
Код AS3:
else 
{
	trace ("Заглуши машину");
}
а надо так

Старый 17.07.2015, 22:46
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 5  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от tattori Посмотреть сообщение
ошибка в скобках {} точнее в их отсутствии
Совсем нет. Если блок кода после if или elsе (и др.условий) состоит из одной команды, то можно писать без фигурных скобок.

Старый 17.07.2015, 23:52
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 6  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
Цитата:
Сообщение от samana Посмотреть сообщение
Совсем нет. Если блок кода после if или elsе (и др.условий) состоит из одной команды, то можно писать без фигурных скобок.
оооу , проверил все верно

Старый 18.07.2015, 01:27
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
но за это по-моему выдает предупреждение
Предупреждение о чем?
Конструкция if() может не содержать фигурных скобок, как Вам только что показали. В таком случае отсутствие действия после if(Boolean), то есть запись вида if(Boolean); это просто отсутствие действия, аналогичное записи if(Boolean){}. Никакого нарушения синтаксиса нет. А последующий блок в скобках рассматривается просто как блок действий. Вы можете любую последовательность действий заключить в фигурные скобки, и даже дать ему имя (метку).
Код AS3:
		public function Main():void
		{
			var s:Shape = new Shape();
			super.addChild(s);
			block:
			{
				if (s.stage != null) break block;
				trace("start block");
				// какие-то действия
			}
			trace("end of block");
		}
А вот дальнейшее else оказывается оторванным от предыдущего if(), без которого применяться не может, о чем и сообщает компилятор.
Цитата:
1083: Синтаксическая ошибка: else не ожидается
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 18.07.2015 в 01:51.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.