Skocz do zawartości

Flash AS3.0: mouseover, out


Liber

Rekomendowane odpowiedzi

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");
}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 4
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Popular Days

Top Posters In This Topic

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.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

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 przez Johny
  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

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ę



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności