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

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

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

Регистрация: Feb 2006
Адрес: Москва
Сообщений: 8
Cool проблема с for

Здравствуйте, столкнулся с такой проблемой - почему-то в функции Func_newd, вызываемой из другой функции, при цикле for..у меня создается только 1 муви, с последним значением переменной из списка. Не понимаю...Func_data является идентичной и работает - выводит последовательно приаттаченные копии мувика с необходимой переменной, образуя список.
Помогите пожалуйста, сроки горят
Код:
ParseCat = function(parse_pn:Number, parse_child, pn:Number, bout) {
	if (parse_pn == 0) {
		atext.text = parse_child.attributes.atext;
	} else { 
		newd = parse_child.childNodes;
		nname = parse_child.nodeName;
		Func_newd(newd, nname, pn, bout);
	}
};
Func_newd = function (newd, nname, pn, bout) {
	for (var i = 0; i<newd.length; i++) {
		_root.createEmptyMovieClip("elem"+nname+i, 50);
		var cn = _root["elem"+nname+i];
		by = bout._y+bout.node._y;
		bx = bout._x+bout.node._x+100;
		cn.attachMovie("node", "node", 50, {_x:bx, _y:by});
		with (cn.node) {
			trace ("cn"+i+" = "+cn);
			ntxt.text = i + " " + newd[i].attributes.nick;
		}
		cn.onPress = function() {
			bout = this;
			pn = String(this).substr(String(this).length-1,1);
			parse_child = parse_child.childNodes[pn];
			parse_pn = parse_child.childNodes.length;
			ParseCat (parse_pn, parse_child, pn, bout);
		}
		//cn.node._y = cn.node._y + 17;
		if (i == newd.length-1) {
			for (var i = 0; i<newd.length; i++) {
			var cn = _root["elem"+nname+i];
			cn.node._y = _root["elem"+nname+(i-1)]._y+17;
			}
		}
	}
};
Func_data = function () {	
	n = admin_xml.childNodes.length;
	for (var i = 0; i<n; i++) {
		_root.createEmptyMovieClip("elem"+i, i);
		var cat = _root["elem"+i];
		cat.attachMovie("node", "node", i, {_x:42, _y:105});
		with (cat.node) {
			ntxt.text = i + " " + admin_xml.childNodes[i].nodeName;
		}
		cat.onPress = function() {
			bout = this;
			pn = String(this).substr(12,2);
			parse_child = admin_xml.childNodes[pn];
			parse_pn = parse_child.childNodes.length;
			ParseCat (parse_pn, parse_child, pn, bout);
		}
		if (i == n-1) {
			for (var i = 0; i<n; i++) {
		var cat = _root["elem"+i];
		cat._y = _root["elem"+(i-1)]._y+17;
			}
		}
	}
};

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

Регистрация: Feb 2003
Адрес: Voronezh
Сообщений: 79
все на одну глубину суются
Цитата:
_root.createEmptyMovieClip("elem"+nname+i, 50);

Старый 24.08.2007, 17:37
dirz вне форума Посмотреть профиль Отправить личное сообщение для dirz Найти все сообщения от dirz
  № 3  
Ответить с цитированием
dirz

Регистрация: Feb 2006
Адрес: Москва
Сообщений: 8
спасибо, пока flasher.ru был недоступен, сам разобрался фух...

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

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

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


 


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


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