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

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

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

Регистрация: Feb 2013
Сообщений: 31
По умолчанию проверка условия

Всем доброго времени суток, проблема такая, есть функция в теле которой стоит цикл switch вот код
Код AS3:
function lockClick(e:MouseEvent):void{
var block: String;
var lock:String;
for(var i :int = 1; i < 7; i++)
	{
	  if(arr_unit_color.indexOf(arr_unit_color[i]) == -1)
			block += String(arr_unit_color[i] + "=" +	getColorMaterial(arr_unit_color[i]) + "&");
		block += String("u" + i + "=" + (arr_unit_color[i] ? arr_unit_color[i] : "0") + "&");
	}
 
	switch (block){
		case "nullu1=1&u2=1&u3=1&u4=1&u5=1&u6=1&": lock = "ok"; break;
		case "nullu1=2&u2=2&u3=2&u4=2&u5=2&u6=2&": lock = "ok"; break;
		case "nullu1=3&u2=3&u3=3&u4=3&u5=3&u6=3&": lock = "ok"; break;
		case "nullu1=4&u2=4&u3=4&u4=4&u5=4&u6=4&": lock = "ok"; break;
		case "nullu1=5&u2=5&u3=5&u4=5&u5=5&u6=5&": lock = "ok"; break;
		case "nullu1=6&u2=6&u3=6&u4=6&u5=6&u6=6&": lock = "ok"; break;
		case "nullu1=7&u2=7&u3=7&u4=7&u5=7&u6=7&": lock = "ok"; break;
		case "nullu1=8&u2=8&u3=8&u4=8&u5=8&u6=8&": lock = "ok"; break;
		case "nullu1=9&u2=9&u3=9&u4=9&u5=9&u6=9&": lock = "ok"; break;
                default: lock = "lock";
                        }
     }
 
 
 
 
		}	   
 
}
 
if(lock=="ok"){
button_r.addEventListener(MouseEvent.CLICK, mc_unit9Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit1Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit2Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit3Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit4Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit5Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit6Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit17Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit18Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit19Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit20Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit21Click);
button_r.addEventListener(MouseEvent.CLICK, mc_unit22Click);
 
}
при компиляции сталкиваюсь с тем что выкидывает ошибку: Scene 1, Layer 'go', Frame 1, Line 138 1120: Access of undefined property lock.
Как я могу из функции вытянуть значение lock и правильно проверить условием if???
Заранее благодарен за ответ.

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
определить переменную lock за пределами функции

Старый 28.06.2013, 18:20
kirill1989 вне форума Посмотреть профиль Отправить личное сообщение для kirill1989 Найти все сообщения от kirill1989
  № 3  
Ответить с цитированием
kirill1989

Регистрация: Feb 2013
Сообщений: 31
Цитата:
Сообщение от FieryWall Посмотреть сообщение
определить переменную lock за пределами функции
ошибка исчезла но значение из функции в переменную lock не вбиваеться, проверил trace(lock) показывает null

Старый 28.06.2013, 18:23
FieryWall вне форума Посмотреть профиль Отправить личное сообщение для FieryWall Найти все сообщения от FieryWall
  № 4  
Ответить с цитированием
FieryWall
 
Аватар для FieryWall

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
а где trace ?

Старый 28.06.2013, 18:24
kirill1989 вне форума Посмотреть профиль Отправить личное сообщение для kirill1989 Найти все сообщения от kirill1989
  № 5  
Ответить с цитированием
kirill1989

Регистрация: Feb 2013
Сообщений: 31
Цитата:
Сообщение от FieryWall Посмотреть сообщение
а где trace ?
trace поставил перед if (lock=="ok")

Добавлено через 15 минут
такое возможное в as3 что бы значение переменной вытянуть из функции?

Старый 28.06.2013, 18:51
FieryWall вне форума Посмотреть профиль Отправить личное сообщение для FieryWall Найти все сообщения от FieryWall
  № 6  
Ответить с цитированием
FieryWall
 
Аватар для FieryWall

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
через return или глобальную переменную как у вас. А где происходит вызов функции? Если она есть - это не значит что она обрабатывалась, и большое значение имеет то - где она вызвана

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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