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

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

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

Регистрация: Aug 2010
Сообщений: 19
The bomb! динамический путь к переменной (массиву) глючит

приветствую, Все!

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

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

Код 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(); )

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

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
массив надо очещать

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

Регистрация: Aug 2010
Сообщений: 19
тоесть?

Старый 31.08.2010, 03:22
Что такое хорошо? вне форума Посмотреть профиль Отправить личное сообщение для Что такое хорошо? Найти все сообщения от Что такое хорошо?
  № 4  
Ответить с цитированием
Что такое хорошо?
 
Аватар для Что такое хорошо?

Регистрация: Nov 2005
Адрес: UA
Сообщений: 326
что такое deactivateZoneId и воистину ли оно Number ?

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

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

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


 


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


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