|
0 Всего найдено: 8
Fushigi
Сообщение
19/04/2008 11:00
Копия темы
Флешеры.кодеры помогите plz с областью видимости Сделал простенький класс imageObj, управляющий картинкой. Обычное растворение, только реализованное через внешний класс caurina.transitions.Tweener , для управляемости процессом. Дак вот, мне нужно чтобы мой imageObj класс диспатчил событие о том, что анимация закончилась. Для этого в классе Tweener предусмотрена возможность вызова функции по окончанию анимации. Но как я понял в этой функции другая область видимости, т.е. в ней я не могу получить значения переменных, использованных мною в этом классе, соответственно и диспатчИвент тоже не пашет... Есть же функция Delegate какая-то, но я с ней не работал, может кто объяснить как оно пашет, на уровне чайника ? заранее спасибо /код под катом код: import mx.events.EventDispatcher; import caurina.transitions.Tweener; class ImageObj { private var dispatchEvent:Function; public var addEventListener, removeEventListener:Function; private var mc:MovieClip; function ImageObj($mc:MovieClip) { mc = $mc; EventDispatcher.initialize(this); trace("ImageObj created"); } public function fade() { trace("ImageObj fade started"); Tweener.addTween(mc,{_alpha:0, delay:2, time:4, transition:"easeInOutCubic", onComplete:onFadeComplete}); } function onFadeComplete() { trace("onFadeComlete called"); dispatchEvent({type:'onFadeComplete'}); } }
games4you
Сообщение
19/04/2008 12:07
Копия темы
public function fade() { trace("ImageObj fade started"); var obj = this; var onFadeComplete:Function = function() { trace("onFadeComlete called"); obj.dispatchEvent({type:'onFadeComplete'}); } Tweener.addTween(mc,{_alpha:0, delay:2, time:4, transition:"easeInOutCubic", onComplete:onFadeComplete}); }
Fushigi
Сообщение
19/04/2008 12:14
Копия темы
хехе, хитро, но работает :)) главное не сломать :))) спасибо
FlashPro
Сообщение
19/04/2008 14:31
Копия темы
0
Tweener.addTween(mc,{_alpha:0, delay:2, time:4, transition:"easeInOutCubic", onComplete:onFadeComplete}); import mx.utils.Delegate; Tweener.addTween(mc,{_alpha:0, delay:2, time:4, transition:"easeInOutCubic", onComplete: Delegate.create(this, onFadeComplete) }); |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |