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

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

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

Регистрация: Jun 2004
Адрес: Екб
Сообщений: 63
По умолчанию Передача переменных

Добрый день.
Уже открыл такую тему в общих вопросах, но ответа не нашлось.
Думаю здесь она даже уместней.

Столкнулся с следующей проблемой:

Есть нефиксированное количество кнопок. Вешаю на них код циклом(все это происходит при получении данных из файла) :
Код:
this.vars = new LoadVars();
this.vars.load("data.txt");
this.vars.onLoad = function() {
for (i=1; i<=this.num; i++) {
_root.txt4['anons_item'+i].anons_btn.onRelease = function(){
код
}
}
}
Суть: мне нужно, чтобы при нажатии на любую из кнопок произошел переход в определенное место и при этом в мувик на новом месте загрузились данные, соответствующие кнопке. Грубо говоря, нужно чтобы как-нибудь заработала конструкция:
Код:
this.vars = new LoadVars();
this.vars.load("data.txt");
this.vars.onLoad = function() {
for (i=1; i<=this.num; i++) {
_root.txt4['anons_item'+i].anons_btn.onRelease = function(){
trace(i);
}
}
}
Не могу понять, как передать исполняемой на кнопке функции переменную i.
Помогите отцы

Старый 13.10.2005, 12:59
Der Grossen вне форума Посмотреть профиль Отправить личное сообщение для Der Grossen Посетить домашнюю страницу Der Grossen Найти все сообщения от Der Grossen
  № 2  
Ответить с цитированием
Der Grossen
 
Аватар для Der Grossen

Регистрация: Jun 2005
Адрес: spb
Сообщений: 84
помоему здесь проще с XML

Код:
function delaemMenu() {
	var node_xml = menu_xml.firstChild;
	var curr_node;
	var curr_item;
	var curr_menu = this.createEmptyMovieClip("mainmenu_mc", 0);
	for (var i = 0; i<node_xml.childNodes.length; i++) {
		curr_item = curr_menu.attachMovie("menuitem", "item"+i+"_mc", i);
		curr_item._x = 0;
		curr_item._y = i*curr_item._height;
		curr_item.trackAsMenu = true;
		curr_node = node_xml.childNodes[i];
		curr_item.node = node_xml.childNodes[i];
		// attributes to menuitem
		curr_item.razdel = curr_node.attributes.razdel;
		curr_item.onRelease = function() {
                 trace(this.razdel);
		};
	}
	// end for
}


Последний раз редактировалось Der Grossen; 13.10.2005 в 13:01.
Старый 13.10.2005, 13:34
BorisL вне форума Посмотреть профиль Отправить личное сообщение для BorisL Найти все сообщения от BorisL
  № 3  
Ответить с цитированием
BorisL

Регистрация: Jun 2004
Адрес: Екб
Сообщений: 63
Спасибо, уже по другому решил.

Старый 13.10.2005, 13:56
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 4  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
ну блин никак, у тяж кнопка откуда знает чему i равно???

this.vars = new LoadVars();
this.vars.load("data.txt");
this.vars.onLoad = function() {
for (i=1; i<=this.num; i++) {
//вот здеся если написать так

_root.txt4['anons_item'+i].anons_btn.i=i;

_root.txt4['anons_item'+i].anons_btn.onRelease = function(){
//а здеся исправить trace(i); на
trace(this.i);
}
}
}

Старый 13.10.2005, 14:23
BorisL вне форума Посмотреть профиль Отправить личное сообщение для BorisL Найти все сообщения от BorisL
  № 5  
Ответить с цитированием
BorisL

Регистрация: Jun 2004
Адрес: Екб
Сообщений: 63
Так и решил
Но все равно спасибо за ответ.

Старый 13.10.2005, 14:25
nouba вне форума Посмотреть профиль Отправить личное сообщение для nouba Посетить домашнюю страницу nouba Найти все сообщения от nouba
  № 6  
Ответить с цитированием
nouba
 
Аватар для nouba

Регистрация: Sep 2005
Сообщений: 150
Отправить сообщение для nouba с помощью ICQ
Да... верно -

trace(this.i);
такая маленькая разница а такой большой смысл
Проверено.. так будет работать

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

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

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


 


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


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