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

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

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

Регистрация: Feb 2007
Сообщений: 5
Отправить сообщение для Newrgun с помощью ICQ
По умолчанию for или while?

Помогите пожалуйста, как сделать через for или while так, чтобы один и тот же кусок кода повторялся с добавлением цыферки в коде.

Вот собственно мой несчастный код:
Код:
_root.other_id.masked.pic1.onRelease = function() {
changepage(1);
};
_root.other_id.masked.pic2.onRelease = function() {
changepage(2);
};
_root.other_id.masked.pic3.onRelease = function() {
changepage(3);
};
_root.other_id.masked.pic4.onRelease = function() {
changepage(4);
};
_root.other_id.masked.pic5.onRelease = function() {
changepage(5);
};
_root.other_id.masked.pic6.onRelease = function() {
changepage(6);
};
_root.other_id.masked.pic7.onRelease = function() {
changepage(7);
};
_root.other_id.masked.pic8.onRelease = function() {
changepage(8);
};
_root.other_id.masked.pic9.onRelease = function() {
changepage(9);
};
_root.other_id.masked.pic10.onRelease = function() {
changepage(10);
};
total_count_ - это количество всех кнопок

Код выше работает, но если этих кнопок будет много

Я делаю все это через while:
Код:
var j:Number = 1;
while (j<total_count_) {
	with (_root.other_id.masked["pic"+j]) {
		var numm = j;
		onRelease = function () {
			changepage(numm);
		};
		j++;
	}
}
и почему-то при нажатии на одну из кнопок, запускается changepage(total_count_);

А если то же самое сделать через for:
Код:
for (var j:Number = 1; j<total_count_; j++) {
	with (_root.other_id.masked["pic"+j]) {
		onRelease = function () {
			changepage(j);
		};
	}
}
При нажатии на одну из кнопок тоже перескакивает на последний.

Люди дайте совет как это сделать.

Старый 02.08.2007, 07:22
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Вот так:
Код:
for (var j:Number = 1; j<total_count_; j++) {
                _root.other_id.masked["pic"+j].id = j;
		_root.other_id.masked["pic"+j].onRelease = function ():Void {
			changepage(this.id);
		};
	}
}
__________________
4am is time to rock

Старый 02.08.2007, 07:57
Newrgun вне форума Посмотреть профиль Отправить личное сообщение для Newrgun Посетить домашнюю страницу Newrgun Найти все сообщения от Newrgun
  № 3  
Ответить с цитированием
Newrgun
 
Аватар для Newrgun

Регистрация: Feb 2007
Сообщений: 5
Отправить сообщение для Newrgun с помощью ICQ
спасибо большое, все работает, незнал что можно делать так.
тема закрыта

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

Регистрация: Sep 2002
Сообщений: 30,787
Темы закрывают модераторы.

Читабельность кода надо улучшать:
Код:
for (var j = 1; j<total_count_; j++) {
                var mc = _root.other_id.masked["pic"+j];
                mc.id = j;
		mc.onRelease = function () {
			changepage(this.id);
		};
	}
}

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

Регистрация: Feb 2007
Сообщений: 5
Отправить сообщение для Newrgun с помощью ICQ
извините, незнал

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

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

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


 


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


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