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

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

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

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
По умолчанию Вопрос о Listener

Господа! Такая проблема:

есть цикл, который вызывает n-раз функцию... функция аттачит на сцену мувик (т.е. получаем n-мувиков)... внутри этой же функции к мувику addListener(myListener)... myListener также описан и работает на конкретное событие...

а как мне узнать из листенера, который из этих n мувиков именно его вызвал? т.е. узнать его _name ?

совсем запарился уже, блин

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

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

Старый 06.07.2007, 21:52
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 3  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
Объясню подробнее:

вот код самого листенера:
Код:
var listenerX:Object = new Object();
listenerX.onMotionFinished = function(objectTween:Tween) {
	var myFinish:Number = Math.random()*899;
	var myDuration:Number = 5+Math.random()*15;
	objectTween.continueTo(myFinish,myDuration);
};
вот остальное :
Код:
for (var i:Number = 0; i<6; i++) {
	makeHex();
}
function makeHex() {
	var hexClip:MovieClip = this.attachMovie("hexagon", "mc_hexagon"+i, this.getNextHighestDepth);
	hexClip._x = Math.random()*899;
	var hexTweenX:Tween = new Tween(hexClip, "_x", Regular.easeOut, hexClip._x, Math.random()*899, 15, true);
	hexTweenX.addListener(listenerX);
}
и внутри кода самого листенера мне нужно знать hexTweenX какого из mc_hexagon отработал...

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

Регистрация: Sep 2002
Сообщений: 30,787
А где создается listenerX? Что мешает подписать на события сам клип?

Старый 06.07.2007, 22:17
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 5  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
не совсем понял идеи...разве у клипов есть событие onMotionFinished ?

ListenerX создется не в данной функци..


Последний раз редактировалось Ведьмак; 06.07.2007 в 22:20.
Старый 06.07.2007, 22:20
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 6  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Вопрос на засыпку: а у абстрактного объекта?

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

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

Старый 06.07.2007, 22:33
Ведьмак вне форума Посмотреть профиль Отправить личное сообщение для Ведьмак Посетить домашнюю страницу Ведьмак Найти все сообщения от Ведьмак
  № 8  
Ответить с цитированием
Ведьмак
 
Аватар для Ведьмак

Регистрация: May 2007
Адрес: Минск, Беларусь
Сообщений: 347
Отправить сообщение для Ведьмак с помощью ICQ Отправить сообщение для Ведьмак с помощью Yahoo
мне нужно отследить событие onMotionFinished... у клипа его нет... зачем мне тогда объявлять листенер клипу?

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

Регистрация: Sep 2002
Сообщений: 30,787
Ещё раз: что мешает сделать это свойство-метод прямо у клипа?
Не надо никаких лишних объектов, каких-то «загадочных» listener-ом (которые являются просто объектом и ничем более).
А ещё в onMotionFinished передается ссылка на Tween, а у него есть свойство obj, ссылающиеся на объект, к которому был применен твин.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Ну так проведите экперимент..
Код:
//var listenerX:Object = new Object();
var listenerX:MovieClip = this;
и далее без изменений.
Событие такое есть у MovieClipLoader'а, по наступлению этого события он запускает одноименную функцию у всех своих слушателей.

Просто пишем
Код:
function onMotionFinished(objectTween:Tween){
//...
}
hexTweenX.addListener( this );
Цитата:
Сообщение от __etc
«загадочных» listener-ов
Что макромедам мешало в хелпе нормальный пример привести, непонятно.


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

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

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


 


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


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