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

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

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Функция в цикле

Код:
for (var i=0; i<=3; i++){
     eval("_root.cool"+i).onPress=function(){
          trace(i);
          }          
     }
Сабж (максимально упрощенный) отказывается работать. Причины и способы решения если не сложно, дамы и господа. Заранее спасибо.

ЗЫ. Тема если поднималась - ткните ссылкой. А то я даже не знаю что в поиске вводить для запроса.

Старый 21.02.2008, 23:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
for (var i=0; i<4; i++){
	_root["cool"+i].i = i;
	_root["cool"+i].onPress=function() {
		trace(this.i);
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код:
for (var i=0; i<=3; i++){
     pressHandler(_root["cool" + i], i);
}

function pressHandler(btn/*тип, либо мувик, либо кнопка*/, i:Number){
         btn.onPress=function(){
               trace(i);
          }          
}
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 22.02.2008, 11:24
Olegg вне форума Посмотреть профиль Найти все сообщения от Olegg
  № 4  
Ответить с цитированием
Olegg
Banned
[+1 21.02.08]
[+4 21.02.08]
[+5 13.03.08]
[+4 13.03.08]

Регистрация: Feb 2008
Сообщений: 63
Еще могу добавить - не пользуйся eval.

Старый 22.02.2008, 12:37
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Olegg, почему? И чем тогда пользоваться?
Кстати, если уж пошла тема, то в flash я столкнулся с 2я способами соединения переменных: с помощью eval() и в просто добавлением в конце к "[]" При чем работает или один или второй. Разтолкуйте, плиз, в чем разница и когда что следует использовать?

Старый 22.02.2008, 12:47
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
eval вообще не надо использовать.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2007
Сообщений: 1,369
eval=evil
__________________
john

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
2 TanaTiX
В твоем цикле просто регистрируется событие онПресс, а код всго что происходит по этому событию НАЧИНАЕТ работать только при наступлении события (онПресс). Т.о. получается что при нажатии на любой eval("_root.cool"+i) у тебя i равно 3. отсюда мораль: необходимо какми-то образом как-то сохранить эту i когда она еще увеличивается в цикле...
Лично я, в коде события кнопки выдираю это самое i из this.


Последний раз редактировалось GFreemen; 22.02.2008 в 18:21.
Старый 22.02.2008, 18:20
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 9  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
субстрингами по нейму что-ли?
__________________
: M F N W :

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
Абсолютно верно

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

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

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


 


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


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