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

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

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

Регистрация: Jan 2007
Сообщений: 368
По умолчанию Динамическое создание функций?

Подскажите пожалуйста, добавляю в цикле мувики. Нужно каждому мувику динамически присвоить обработчик on (press). Как это сделать?
Код:
for (i=0;i<_root.image.length;i++) {
	attachMovie("maika","maika"+i,i);
	this["maika"+i].loadMovie(_root.image[i], 100);
	this["maika"+i]._y=i*100;
};
P.S. Заранее спасибо


Последний раз редактировалось iNils; 27.03.2007 в 14:17.
Старый 27.03.2007, 14:13
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 2  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
в том же for onPress и прописывайте
только надо дождаться конца загрузки
и лучше делать это с MovieClipLoader
__________________
"We Are The Champions My Friends!" Queen

Старый 27.03.2007, 14:49
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 3  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Прочел в справочнике, но только ничего не получается
Код:
function add_img():Void {
	var loader:MovieClipLoader = new MovieClipLoader();
	var listener:Object; // Создаем листенер для событий загрузчика
    loader.addListener(listener);
	for (i=0;i<_root.image.length;i++)
		{
			attachMovie("maika","maika"+i,i);
			loader.loadClip(_root.image[i], this["maika"+i]);
			listener.onLoadComplete = function(maiki:MovieClip):Void 
			{
				this["maika"+i]._y=i*100;
				this["maika"+i].onPress= function():Void 
				{ 
				trace("Событие клипа "+this["maika"+i]);
				};
			};
			
		};
};
Подскажите что я не так сделал?

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

Регистрация: Sep 2002
Сообщений: 30,787
listener один на всех. А должен быть у каждого свой.

Старый 27.03.2007, 15:09
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 5  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Я пыался сделать чтото вроде
listener.onLoadComplete = function(this["maika"+i]:MovieClip):Void
Но он выдает ошибку что нужно имя клипа в параметре (Parameter name expected)
Как указать в параметре имя подгружаемого клипа?
P.S. И еще после добавления изображения с помощью loader.loadClip(_root.image[i], this["maika"+i]); перестает работать обработчик onPress (


Последний раз редактировалось Dragon rideR; 27.03.2007 в 15:48.
Старый 27.03.2007, 15:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нужно объявить переменную mc, а не передавать туда this['maika'…

Код:
function add_img() {
	for (i=0;i<_root.image.length;i++)
		{
			var mc = attachMovie("maika","maika"+i,i);
                        var loader = new MovieClipLoader();
                        loader.i = i;
                        loader.onLoadInit = function(mc) {
                               mc._x = this.i*100;
                               mc.onRelease = function() {
                                      trace(this);
                               }
                        }
                        loader.addListener(loader);
			loader.loadClip(_root.image[i], mc);
		};
};
Если не заработает, напишешь. Мне проверять не на чем.

Старый 27.03.2007, 15:55
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 7  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Вы ГЕНИЙ! Спасибо огромное )) Теперь буду разбираться как это работает )
Последний вопрос у меня клип контейнер находится в ScrollPane и при загрузке клипов размеры этой панели не увеличиваются (не появляются боковые скролы)


Последний раз редактировалось Dragon rideR; 27.03.2007 в 16:02.
Старый 27.03.2007, 16:13
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 8  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
а в чем собственно вопрос?
"как увеличить панель?"
кстати вот примерчик к предыд вопросу
Вложения
Тип файла: rar xmlto.rar (5.0 Кб, 51 просмотров)
__________________
"We Are The Champions My Friends!" Queen

Старый 27.03.2007, 16:21
Dragon rideR вне форума Посмотреть профиль Отправить личное сообщение для Dragon rideR Найти все сообщения от Dragon rideR
  № 9  
Ответить с цитированием
Dragon rideR
 
Аватар для Dragon rideR

Регистрация: Jan 2007
Сообщений: 368
Спасибо большое за пример, разобрался )
А по поводу панели: если загружать в нее клип с заведомо большим размером, то боковые скролы появляются на ура. Но если я с помощью loadClip добавляю много клипов со смещение по x или y то изображения уходят за края панели, а скролы не появляются (
[iNils: Апы расцениваются как флуд и наказываются]


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

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

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


 


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


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