Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   проверка условия (http://www.flasher.ru/forum/showthread.php?t=202011)

kirill1989 28.06.2013 17:50

проверка условия
 
Всем доброго времени суток, проблема такая, есть функция в теле которой стоит цикл 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???
Заранее благодарен за ответ.

FieryWall 28.06.2013 17:56

определить переменную lock за пределами функции

kirill1989 28.06.2013 18:20

Цитата:

Сообщение от FieryWall (Сообщение 1139551)
определить переменную lock за пределами функции

ошибка исчезла но значение из функции в переменную lock не вбиваеться, проверил trace(lock) показывает null

FieryWall 28.06.2013 18:23

а где trace ?

kirill1989 28.06.2013 18:24

Цитата:

Сообщение от FieryWall (Сообщение 1139556)
а где trace ?

trace поставил перед if (lock=="ok")

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

FieryWall 28.06.2013 18:51

через return или глобальную переменную как у вас. А где происходит вызов функции? Если она есть - это не значит что она обрабатывалась, и большое значение имеет то - где она вызвана


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

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