Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   можно ли ставить addListener для мувиков? (http://www.flasher.ru/forum/showthread.php?t=60492)

wwwita 11.07.2004 09:54

можно ли ставить addListener для мувиков?
 
могу ли я делать addListener для мувиков?

если да, то как это делается... :)

Dindin 11.07.2004 16:50

Встречный вопрос: что ты понимаешь под "addListener для мувиков"?
Вообще-то, метод addListener определён только для классов:
Key class
Mouse class
MovieClipLoader class
Selection class
Stage class
TextField class

Но если очень нужно - можно определить этот метод и для класса MovieClip:
Код:

MovieClip.prototype.addListener = function(object:Object):Void{
        ...
}

Только на какие события должен реагировать этот listener object?

Jlekc 11.07.2004 18:01

Встречный вопрос: а как мувики определяют события onRelease и etc.

Dindin 11.07.2004 18:13

Цитата:

Оригинал написал(а) Jlekc
Встречный вопрос: а как мувики определяют события onRelease и etc.
События onPress, onRelease, onReleaseOutside - определены для объектов типа MovieClip в ядре Action Script. К listener они имеют очень слабое отношение.

silin 11.07.2004 20:25

Цитата:

К listener они имеют очень слабое отношение
сдается мне, что мувики ( и кнопки) автоматически регистрируются как слушатели Mouse, потому и обработчики типа onMouseMove/Down/Up работают без добавления лисенера
onPress/Relsease... тож не сложно определить из стандартных мышиных событий

Dindin 11.07.2004 21:05

Поковорялся я в том самом пресловутом ядре Action Script и пришёл к выводу:
поскольку класс MovieClip наследуется от класса Object, то, следовательно, экземпляр MovieClip можно использовать в качестве экземпляра Object, что, собственно говоря, и делается. При заявлении события MovieClip.onPress MovieClip назначается listener'ом событий Mouse. То есть мувик слушает события мыши и каждый Mouse.onMouseDown проверяет на координаты. Если происходит совпадение с областью MovieClip - наступает событие MovieClip.onPress.

ЗЫ Это всё - всего-навсего мои личные выводы

wwwita 12.07.2004 00:48

Dindin, в reference написано, что все события, которые появляются при нажатии ctrl+v в режиме test movie -- это и есть все события, которые отрабатываются... кучи onMouseUp и других там нет... с другой стороны они могут прятаться....

я тоже читал про те классы которые ты выше перечислил.... просто хотел сделать обработку,например того же onMouseUp без задействования my_mc.onMouseUp = ... чтобы не перекрываться с ним. То есть, грубо, добавить 2-й обработчик onMouseUp.

Dindin 12.07.2004 11:42

Давай лучше так: ты скажи чего ты хочешь этими действиями добиться (на конкретном примере - "хочу что бы вон та фигня ехала вон туда, а вот эта ерундовина вот так крутилась") и тебе подскажут как этого добиться.

wwwita 12.07.2004 14:51

чтобы не было войны :)

у меня есть клип с таргетом mc1.mc2
на mc2 необходимо повесить обработчик onMouseUp (1) так, чтобы позже в коде я мог записать
Код:

mc1.mc2.onMouseUp = function (){
    ...
}

и при этом обработчик 1 не отменился.

wwwita 12.07.2004 14:55

или тоже самое.....

сделать обработчик onMouseUp, при этом не написав ни разу
Код:

mc1.mc2.onMouseUp = function (){ 
 ... 
}

, чтобы позже можно было его добавить.


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

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