Форум 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=143759)

ДядяВова 25.08.2010 03:43

динамический путь к переменной (массиву) глючит
 
приветствую, Все!

вобщем, столкнулся:

в одном и том-же мувике:

Код AS1/AS2:

var linkToThisMc:MovieClip = this;

_root.leftMenu_mc.currentId - доступна, не undefined

создается массив в одной функции:

Код AS1/AS2:

function createArray():Void {
  var center_mc:MovieClip = linkToThisMc.createEmptyMovieClip('zone'+_root.leftMenu_mc.currentId, блабла); //ДА, создаёт
  center_mc['iconsChapter'+_root.leftMenu_mc.currentId+'_array'] = new Array(); //ДА, создаёт
  center_mc['iconsChapter'+_root.leftMenu_mc.currentId+'_array'].push(что-нибудь);
  trace(center_mc['iconsChapter'+_root.leftMenu_mc.currentId+'_array']); //ДА, выводит
}

показываем массив
Код AS1/AS2:

function showArray(deactivateZoneId:Number):Void {
  //!!! Выдаёт UNDEFINED !!! - доступны ВСЕ переменные в разборе, в сборе - недоступны
trace(linkToThisMc['zone'+deactivateZoneId]['iconsChapter'+_root.leftMenu_mc.currentId+'_array']);
 
}

функции тут сократил до минимума, чтоб показать суть

так вот, для разных _root.leftMenu_mc.currentId создаются разные массивы
при любом количестве обращений к createArray - её трейс показывает, что массив есть.

после первого обращения к createArray - трейс в функции showAray -выдаёт содержимое массива, после последующих (созданий новых массивов) - выдаёт undefined
насильный трейс прямого указанного массива (напр. trace(some_mc.zone1.iconsChapter2_array)) - тоже undefined, хотя на предыдущей итерации, в работе функции createArray трейс показывал этот массив

заподозрил, что дело в обращении к переменным (да и в динамическом объявлении mc[some_array] = new Array(); )

пожалуйста, помогите решить ребус? %)

in4core 26.08.2010 15:27

массив надо очещать

ДядяВова 30.08.2010 20:56

тоесть?

Что такое хорошо? 31.08.2010 03:22

что такое deactivateZoneId и воистину ли оно Number ?


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

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