Показать сообщение отдельно
Старый 09.06.2011, 15:15
GLuKed вне форума Посмотреть профиль Отправить личное сообщение для GLuKed Найти все сообщения от GLuKed
  № 1  
Ответить с цитированием
GLuKed

Регистрация: Mar 2007
Сообщений: 12
По умолчанию Динамический путь для EventListener

Добрый день

Есть следующая структура flash ролика: map.материк.страна

Муви клипы с материками и странами загоняю в 2 массива.

мне нужно на все материки и страны повесить addEventListener сохраняя иерархию.
Но не выходит для addEventListener прописать двойную переменную в пути к мувику.

Вот код как я делаю, может подскажите как правильно?

Код AS3:
var materiki:Array = new Array();
var str:Array = new Array();
for(var m:int = 1; m <= map.numChildren-1; m++){
 
var strani = map.getChildAt(m);
	materiki.push(strani);
 
}
for each (var item:* in materiki) {
var iname = item.name
var inum = map[iname].numChildren-1;
 
	for(var mm:int = 1; mm <= inum; mm++){
		var strana = map[iname].getChildAt(mm);
		str.push(strana);
 
	}
}
for each (var itemm:* in materiki) {
	var itemvar = itemm.name;
 
	map[itemvar].addEventListener(MouseEvent.CLICK, callLinkmat);
map[itemvar].addEventListener(MouseEvent.MOUSE_OVER,zoominmat);
map[itemvar].addEventListener(MouseEvent.MOUSE_OUT,zoomoutmat);
for each (var itemstr:* in str) {
	var itemst = itemm.name +"."+ itemstr.name;
 
 
	map[itemst].addEventListener(MouseEvent.CLICK, callLinkmat);
map[itemst].addEventListener(MouseEvent.MOUSE_OVER,zoominmat);
map[itemst].addEventListener(MouseEvent.MOUSE_OUT,zoomoutmat);
}
}
Следующий код для материков работает, а на страны Listener не вешает, выдает в output ошибку:
TypeError: Error #1010: Термин не определен и не имеет свойств.
at flashmapgreen_fla::MainTimeline/frame1()


Чувствую что в какой то мелочи ошибся, но увы не удается найти где.