Skocz do zawartości

Problem: wysuwany button - pomocy

Featured Replies

Napisano

Mam tak sytuacje

 

na scenie głownej w pierwszej klatce mam movieClip przycisku btn_mc a w nim w warstwie1 movieClip o nazwie hitArea_mc, w warstwie2 grafike przycisku.

 

w movieClipe btn_mc utworzona jest klasyczna animacja z flagami 'Over' i 'Out' majaca sekwencje wysuwania i wsuwania przycisku.Gdzie w zaleznosci od tego czy najade kursorem myszki na btn_mc zalaczami sie animacja wysuwania 'Over' i wsuwania 'Out' btn_mc. Cos podobnego jak w tym tutrialu.

 

 

z ta roznica ze zamiast animacji zniany alfa ktora jest pokazana w tutorialu, mam animacje zniany polozenia btn_mc.

 

Obiekty hitArea_mc i grafika przysisku znajduja sie w btn_mc i maja taki sam kształt i pokrywaja sie wzajemnie tak ze mam aktywny obszar cały czas na przycisku.

 

Moj kod zamieszczony na pierwszej klatce sceny glownej tam gdzie znajduje sie btn_mc jest taki:

 

btn_mc.buttonMode=true;
btn_mc.hitArea=btn_mc.hitArea_mc;
btn_mc.addEventListener(MouseEvent.MOUSE_OVER, btnOver);
btn_mc.addEventListener(MouseEvent.MOUSE_OUT, btnOut);
btn_mc.addEventListener(MouseEvent.CLICK, btnClik);

function btnOver(event:MouseEvent):void{
   event.currentTarget.gotoAndPlay('btnOver');
}
function btnOut(event:MouseEvent):void{
   event.currentTarget.gotoAndPlay('btnOut');
}
function btnClik(event:MouseEvent):void{
   event.currentTarget.gotoAndPlay('btnOut');
   gotoAndStop(2);
} 

blad moj jest taki:

 

najezdzam myszka na przycisk, zaczyna sie wysuwac, zjezdzam pod czas kiedy movieclip sie odtwarza (przycisk wysuwa) i zostaje wykonana akcja onRollOut, gdzie masz przeskok do czesci gdzie przycik jest juz caly wysuniety i zaczyna sie chowac,

znowu na niego najezdzam i jest przeskok jak jest schowany i sie wysuwa itd...

 

szukajac odp na ten blad znalazlem cos takiego:

 

btn_1 - pole przycisku

mc_1 - klip z animacja przycisku

 

 

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.nextFrame();
       }
       if (over_or_out == 0 )  
       {
           mc_1.prevFrame();        
       }
   }
}

function btnclick(event:MouseEvent):void{
.....
} 

 

Problem jest taki ze nie za dobrze smigam jeszcze w AS3 i nie rozumie do konca kodu. Czym w kodzie ktory znalazlem jest btn_1 i mc_1 i jak to odniesc do mojego kodu zeby sie nie pojawial moj blad w animacji?

 

P.S. Poczatki bywaja trudne

  • Odpowiedzi 3
  • Wyświetleń 1,1k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

uzywam as3 a w dodatku jestem poczatkujacy:(

a w dodatku to moje menu ma ksztalt koła i pod roznymi kątami wysuwaja sie buttony

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.

Account

Navigation

Szukaj

Szukaj

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.