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

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

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

Регистрация: Aug 2009
Сообщений: 101
По умолчанию Цикличное управление множеством элементов.

Связал название всех элементов цифрами, чтобы можно было без проблем задать для них свойство в несколько строк цикла.
Но вот проблема: для каждого элемента(К примеру кнопка) есть ряд своих переменных с таким же номером, что и элемент(кнопка), так вот задать условие кнопке не проблема, но к переменным не получится так как они находятся внутри функции цикла и формально получается что функция начинает работать когда цикл уже завершает свою работу и функцию связанную с элементом мы открываем а переменные зависящие от i( ну, переменная цикла О_о) уже не отвечают...
Вот пример
Код AS1/AS2:
for (i=1;i<234;i++){
		_root['Mc_choose_'+i].btn.onRelease = function() {
			_root['Mc_choose_'+i].CheckBox = 2;//вот тут уже i = 234 =(
 
		}
	}
Как сделать чтобы производить дальнейший счет с номером i?
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.


Последний раз редактировалось LanSelven; 15.09.2009 в 20:30.
Старый 15.09.2009, 20:30
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
this.CheckBox = 2
С большой буквы пишутся названия классов.

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

Регистрация: Aug 2009
Сообщений: 101
Пробовал this - не выходит....=(
CheckBox получается и не в _root и не в Mc_choose_1...
А надо чтобы была переменная Mc_choose_1.CheckBox
Цитата:
С большой буквы пишутся называния классов.
O_o ну, это я не знаю, пишу как удобнее, никто меня не учил хорошим манерам =]

Добавлено через 3 минуты
точнее, Mc_choose_1.CheckBox как пример. Может быть и Mc_choose_200.CheckBox и Mc_choose_64.CheckBox. вообщем чтобы зависела от i. Ну конечно если есть способ как сделать зависимость не от i а от непосредственно мувика(Mc_choose) в котором находиться кнопка(ну, что и пытались сделать через this) то это конечно не хуже =)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 15.09.2009, 20:40
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
this указывать на текущий объект, т.е. объект через который вызывается данный обработчик.
this в твоем случае будет _root['Mc_choose_'+i]
И я не досмотрел немного...
Код AS1/AS2:
this._parent.CheckBox = 2
upd: this в твоем случае будет _root['Mc_choose_'+i].btn
Вот.


Последний раз редактировалось udaaff; 15.09.2009 в 20:53.
Старый 15.09.2009, 21:09
LanSelven вне форума Посмотреть профиль Отправить личное сообщение для LanSelven Найти все сообщения от LanSelven
  № 5  
Ответить с цитированием
LanSelven
 
Аватар для LanSelven

Регистрация: Aug 2009
Сообщений: 101
Cпасибо больше за ответ.
А как проделать нечто подобное:
Код AS1/AS2:
for (i=1;i<234;i++){
	_root['Mc_choose_'+i].btn.onRelease = function() {
		_root['CheckBox'+i] = 2;
	}
}
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 15.09.2009, 23:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В цикле - вместо назначения анонимной функции на событие onRelese нужно сделать ссылку на внешнюю функцию.

Код AS1/AS2:
for (i=1;i<234;i++){
       _root['Mc_choose_' + i].btn.num = i;
       _root['Mc_choose_' + i].btn.onRelease = btnOnRelease;
}
 
function btnOnRelease() {
   _root['CheckBox' + this.num] = 2;
}

Старый 16.09.2009, 00:01
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 7  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
И в чем разница?
Между "внешней" функцией и "невнешней"?

Старый 16.09.2009, 00:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
"Внешняя" по отношению к телу цикла.
См. пример.
Если же писать сразу в цикле, то ничего не выйдет.


Последний раз редактировалось mooncar; 16.09.2009 в 00:23.
Старый 16.09.2009, 17:50
LanSelven вне форума Посмотреть профиль Отправить личное сообщение для LanSelven Найти все сообщения от LanSelven
  № 9  
Ответить с цитированием
LanSelven
 
Аватар для LanSelven

Регистрация: Aug 2009
Сообщений: 101
Понятно))) Теперь можно горы свернуть =D
Спасибо огромное!!
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.


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

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

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


 


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


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