Gość jaryjarek Napisano 15 Lipiec 2010 Napisano 15 Lipiec 2010 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
szczuro Napisano 15 Lipiec 2010 Napisano 15 Lipiec 2010 jesli to tylko zmiana położenia to zrób to na tweenach a nie na animacji klatkowej ;) http://www.kirupa.com/developer/actionscript/tween.htm
Gość jaryjarek Napisano 15 Lipiec 2010 Napisano 15 Lipiec 2010 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
szczuro Napisano 15 Lipiec 2010 Napisano 15 Lipiec 2010 sorry http://www.zedia.net/actionscript-3-tweens-tutorial/ tweeny mają tą zaletę że lecą od danej wartości do podanej, czyli jak jest w połowie wysunięty to ci zacznie od tej połowy i poleci w drugą
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ę