Liber Napisano 8 Czerwiec 2009 Napisano 8 Czerwiec 2009 Cze, Mam problem z animacja mouseover, out. Zerknijcie tu: http://www.elbr.pl/flash.html . Po szybkim przejechaniu przez obszar 'hit' animacja zatrzymuje sie, ja chcialbym aby dochodzila do konca. Macie moze jakies pomysly jak ten problem rozwiazac? ActionScript 3.0 //doswietlacze// btn_1.addEventListener(MouseEvent.MOUSE_OVER,btnover); btn_1.addEventListener(MouseEvent.MOUSE_OUT,btnout); btn_1.addEventListener(MouseEvent.CLICK,btnclick); function btnover(event:MouseEvent):void{ mc_1.gotoAndPlay (11); } function btnout(event:MouseEvent):void{ mc_1.gotoAndPlay (20); } function btnclick(event:MouseEvent):void{ navigateToURL(doswietlacze, "_self"); }
La R Napisano 8 Czerwiec 2009 Napisano 8 Czerwiec 2009 Spróbuj dać w btnout stop() dla mc przed gotoAndPlay ,a jeśli ma się odegrać do końca to po prostu wrzuć w ifa z odpowiednim warunkiem. Możesz też dodać eventa dopiero w momencie osiągnięcia odpowiedniej klatki tudzież załatwić to Tweenem. 1
Johny Napisano 8 Czerwiec 2009 Napisano 8 Czerwiec 2009 (edytowane) Troche nie czaje, dojechala do konca i co dalej? Moge zaproponowac Ci inne rozwiazanie, np najezdzasz na przycisk i jest pierwsza animaja tak dlugo jak kursor znajduje sie na tym przycisku, w momencie kiedy zjedziesz myszka, animacja sie cofa, ale... jesli myszka bedzie tak dlugo na przycisku ze ta pierwsza czesc animacji dojdzie do konca a pozniej zjedziesz myszka to odtwarza sie druga czesc animacji. Kod: var over_or_out:int; btn_1.addEventListener(MouseEvent.CLICK, btnclick); btn_1.addEventListener(MouseEvent.MOUSE_OUT, btnout); btn_1.addEventListener(MouseEvent.MOUSE_OVER, btnover); this.addEventListener(Event.ENTER_FRAME, onEnterFrames); function btnout(event:MouseEvent):void { over_or_out = 0; } function btnover(event:MouseEvent):void { over_or_out = 1; } function onEnterFrames(event:Event) { if ((mc_1.currentFrame != mc_1.totalFrames) || (mc_1.currentFrame != 0)) { if (over_or_out == 1 && mc_1.currentFrame != 11) { mc_1.nextFrame(); } if (over_or_out == 0 && mc_1.currentFrame { mc_1.prevFrame(); } if (over_or_out == 0 && mc_1.currentFrame >= 11) { mc_1.nextFrame(); } } } function btnclick(event:MouseEvent):void{ ..... } Tutaj akurat animacja dziala w zakresie - pierwsza czesc od klatki 0 do 10, druga czesc od 11, do ktorej tam chcesz... oczywiscnie wszystko mozna tam pozmieniac i dostosowac do twocih potrzeb EDIT: Tutaj masz przyklad: http://bearsfromwoods.com/johny/ Tutaj plik FLA: http://bearsfromwoods.com/johny/button.fla Edytowane 8 Czerwiec 2009 przez Johny 1
Liber Napisano 8 Czerwiec 2009 Autor Napisano 8 Czerwiec 2009 Dzieki Panowie z wasza pomoca poradzilem sobie z tym problemem, wystarczylo poprawic nieco funkcje btnout: function btnout(event:MouseEvent):void{ if(mc_1.currentFrame mc_1.gotoAndPlay (21); } } Dzieki! efekt: http://www.elbr.pl/flash.html
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się