Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Глобальная переменная. (http://www.flasher.ru/forum/showthread.php?t=93003)

Муха 11.03.2007 22:07

Глобальная переменная.
 
Мне надо сделать длинну массива глобальной переменной.
Когда пишу: _global.m=4; - она используется, а когда
_global.m=T.length; - не берет :(
где m- имя переменной, Т - массив.
Подскажите, пожалуйста, как это сделать.

etc 11.03.2007 22:10

Ты уверен, что T у тебя массив? Проверь трейсом.

Муха 11.03.2007 22:18

Цитата:

Сообщение от __etc
Ты уверен, что T у тебя массив? Проверь трейсом.

Уверена, потому что в качестве локальной переменной m=T.length; берется.

etc 11.03.2007 22:20

Да ну? Тогда примерчик неработающий соберите. Что-то прям неверится.

BigDan 11.03.2007 22:40

Вот пример:
Код:

var testArr:Array = new Array("1","2","3");
trace(testArr.length);
_global.arrLength = testArr.length;
trace(_global.arrLength);

Все нормально работает. Возможно ты не правильно обращяешся к глобальной переменной.

Муха 11.03.2007 22:43

Вложений: 1
переменная задана в первом кадре главной, в функции initTovar, а вставить пытаюсь во второй кадр, в мувике mask_text, в мувик slider1, и в мувик text.

etc 11.03.2007 22:48

Код:

stop();
LoadTovar = new LoadVars();
LoadTovar.load("stolb.txt");
LoadTovar.onLoad = initTovar;
function initTovar() {
        tovarArray = LoadTovar.tovar.split(String.fromCharCode(10));
        for (i=0; i<tovarArray.length; i++) {
                tovarArray[i] = tovarArray[i].split(":");
        }
        _global.m = tovarArray.length;
        trace(_global.m); // 10
        Add();
}
_root.gotoAndStop(2);

Все работает.

Муха 11.03.2007 22:49

А при загрузке клипа можно использовать их?
А -то при enterFrame он их трассирует, а при load - нет.

BigDan 11.03.2007 22:51

Вся проблема в том, что ты обращяешся к глобальной переменной(на втором кадре), как к локальной. Надо так: _global.имяПеременной. Когда ты создаешь "глобальную переменную", ты на самом деле добавляешь новое свойство к объекту Global, который виден "всюду".

Муха 11.03.2007 22:51

__etc, он вот здесь:в mask_text, в slider1, и в мувике text их берет, если записать вместо _global.m = tovarArray.length;
_global.m = 10;
BigDan, обращаюсь _global.имяПеременной.

Вобщем, если закинуть обращение к переменной в enterFrame, а не в load того же клипа, то все работает.


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

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