Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Переопределение событий в загруженных MovieClip (http://www.flasher.ru/forum/showthread.php?t=74106)

winky_one 12.01.2006 09:00

Переопределение событий в загруженных MovieClip
 
Если бы кто-нибудь помог, я бы был большое спасибо за это ))
Ситуация - загружаю мувик с помощью LoadMovie.
(_root.createEmptyMovieClip, потом loadMovie)
Загружаемый мувик содержит функции, отрабатывающие события onRollOver и onRollOut. После чего на загруженном мувике пытаюсь переопределить событие onPress. onPress работает после этого, но события onRollOver и onRollOut самого мувика перестают работать.
Можно ли это как-нибудь обойти?

Antares 12.01.2006 10:58

Вызывать эти события руками. Юзать хиттест. Это называется "непроникаемостью событий"

KPaul 12.01.2006 11:33

Вложений: 1
Я не совсем понял о чем идет речь...
Но в моем видении проблемы, с ролловером все впорядке.
Вот исходники для примера.

2Antares
Если можно пару слов о "непроникаемости ...". Возможно это поможет объяснению.

winky_one 14.01.2006 10:51

Цитата:

Сообщение от KPaul
Я не совсем понял о чем идет речь...
Но в моем видении проблемы, с ролловером все впорядке.

Вот фрагмент кода (правда, тут не ролловер, тут другое, но из той же оперы, не получается переопределить событие):
Код:

mc = _root.createEmptyMovieClip("preview_last_"+child, child);
mc._x = (child)*104+52;
mc._y = 150;
image = mc.createEmptyMovieClip("preview_image"+child, 0);
image.loadMovie(baseurl+"preview/preview_template.swf");
image.btn.onPress = function() {
        trace("А я что? я ничего :-)");
};

По примеру получается следующее: в подгружаемом мувике есть кнопка, поименованная btn. Я пытаюсь на нее повесить событие этим присваиванием (image.btn.onPress = function() {...), и ничего не выходит :((

При чем, попробовал не загружать клип, а делать копию. и все нормально...

может я адресую эту кнопку как-то неправильно?.. не пойму.

winky_one 17.01.2006 07:47

Для логического завершения этого всего решил написать, что проблему мне все-таки удалось решить.
Код:


var mcl_Listener:Object = new Object();
var mcl:MovieClipLoader = new MovieClipLoader();
mcl_Listener.onLoadInit = function(target_mc:MovieClip) {
        target_mc.btn.onRelease = target_mc.Zoom.btn.onRelease = function() {
                trace("Колбаса");
        }
}
mcl.addListener(mcl_Listener);

//...       

mcl.loadClip(baseurl+currentPicture.attributes.preview,image);

В результате я воспользоваться MovieClipLoader-ом, и при этом на событии onLoadInit стало возможным переопределить события внутри подгружаемого мувика. При onLoadComplete этого уже сделать нельзя при чем. как выяснилось, я сначала этот вариант пробовал.

В-общем, теперь все заработало, спасибо большое тем, кто помог :-)


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

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