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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.07.2007, 18:09
die hetzer вне форума Посмотреть профиль Отправить личное сообщение для die hetzer Найти все сообщения от die hetzer
  № 1  
Ответить с цитированием
die hetzer
 
Аватар для die hetzer

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

hi all!
помогите советом, кто может.

на сцене 3 кнопки (button1, ..2, ..3)
нужно чтобы каждая кнопка выводила разный trace (0, 1, 2)

не работает (trace выводит на каждой кнопке "3")
Код:
loadInfo = function(a) {
	trace(a)
}

for (var i=0; i<3; i++) {
	_root["button"+i].onPress = function() {
		loadInfo(i);
	}
}
работает, но решение, чувствую, кривое
Код:
loadInfo = function(a) {
	trace(a)
}

for (var i=0; i<3; i++) {
	_root["button"+i].i = i;
	_root["button"+i].onPress = function() {
		loadInfo(this.i);
	}
}

исходник
Вложения
Тип файла: zip but_trace.zip (4.7 Кб, 52 просмотров)

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

Регистрация: Apr 2006
Адрес: Kiev
Сообщений: 1,675
Отправить сообщение для BigDan с помощью ICQ
Решение самое, что есть не кривое


Последний раз редактировалось BigDan; 23.07.2007 в 19:01.
Старый 23.07.2007, 18:19
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 3  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Код:
for (var i=0; i<= 3; i++) {
	_root["button"+i]._id = i
	_root["button"+i].onPress = function (){
		trace (this._id)
	}
}
__________________
Free-lance | Twitter | Me

Старый 23.07.2007, 18:24
die hetzer вне форума Посмотреть профиль Отправить личное сообщение для die hetzer Найти все сообщения от die hetzer
  № 4  
Ответить с цитированием
die hetzer
 
Аватар для die hetzer

Регистрация: Jul 2007
Сообщений: 12
screamge, спасибо. я заменил i на _id но суть таже


Последний раз редактировалось die hetzer; 23.07.2007 в 18:56.
Старый 23.07.2007, 18:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
screamge, а чем твое решение отличается от второго кода в первом посте?

Вообще, если хочется извратиться, то можно так:

Код:
loadInfo = function(a) {
	trace(a)
}

for (var i=0; i<3; i++) {
	var btn = _root['button'+i];
	btn.onPress = function() {
		loadInfo(Number(this._name.substr(6)));
	}
}

Старый 23.07.2007, 18:26
die hetzer вне форума Посмотреть профиль Отправить личное сообщение для die hetzer Найти все сообщения от die hetzer
  № 6  
Ответить с цитированием
die hetzer
 
Аватар для die hetzer

Регистрация: Jul 2007
Сообщений: 12
__etc, ага я тоже об этом думал)

Старый 23.07.2007, 18:47
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 7  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Ничем, только работает и вместо "i" написанно "id" вот и всё)).
__________________
Free-lance | Twitter | Me

Старый 23.07.2007, 18:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от screamge
Ничем, только работает и вместо "i" написанно "id" вот и всё)).
Замечательно
Ещё тем, что у тебя «<=», а не «<»…

Старый 23.07.2007, 18:55
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 9  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
вот уже три отличия нашли ))))))

Цитата:
screamge, спасибо. я заменил i на _id но суть таже
Ок, я на авторство кода и не претендовал
__________________
Free-lance | Twitter | Me


Последний раз редактировалось screamge; 23.07.2007 в 19:00.
Старый 23.07.2007, 21:20
Cкептик вне форума Посмотреть профиль Найти все сообщения от Cкептик
  № 10  
Ответить с цитированием
Cкептик
Banned
[+4 18.07.07]
[+4 19.07.07]
[+4 25.07.07]

Регистрация: Jul 2007
Сообщений: 92
Ведь последняя кнопка тогда ничего не выдает. Зачем такое извращение?

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

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

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


 


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


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