secret Napisano 18 Październik 2009 Napisano 18 Październik 2009 Witam! Bardzo proszę o pomoc we flashu. 4 godziny próbuje zrobić jeden głupi przycisk w menu i nie idzie, ostra k...ca mnie bierze, żeby tyle czasu przesiedzieć, przemyśleć i nic nie wymyśleć. Chodzi o to, że mam takie menu: http://www.unk.pl/test.swf i jak najadę na przycisk "oferta" to przycisk drgawek dostaje heh. Powinno być tak: przycisk zjeżdza z góry na dół i jak najadę na niego to powinien się zatrzymać, a on mi tu drga i drga i nie przestaje :/ Zdaje się mam w programie dobrze zrobione, a ciągle nie wiem gdzie może być błąd.
CzAk1 Napisano 18 Październik 2009 Napisano 18 Październik 2009 Action Scrypt...yeah... Gdzies może jakiś ()play;, ()stop; jest w miejscu gdzie nie powinien i się wszystko sypie. Pokaż kod...
secret Napisano 18 Październik 2009 Autor Napisano 18 Październik 2009 no laska laska :D chodzi o to, że to nie jest kod w jednym. już pokazuję. na słowie "oferta" mam movie clipa, a w nim takie coś: http://www.unk.pl/przycisk.jpg w pierwszej klatce akcje, mam taki kod: stop(); this.onRollOver = function () { gotoAndPlay("on"); } this.onRollOut = function () { gotoAndPlay("off"); } this.onRelease = function () { _parent.gotoAndStop("oferta"); } W klatce 7 akcje mam kod stop(); I to tyle, jakiś czas temu robiłam podobne przyciski z takim samym kodem, z tym że bez wysuwania, ale ten kod działał jak należy.
kamil.ochel Napisano 18 Październik 2009 Napisano 18 Październik 2009 w ogole to zrob sobie osobna warstwe na przycisk i zrob tak zeby w 2 giej klatce nie było akcji onrollover. nie jestem pewien czy tak ale spróbuj ;)
secret Napisano 18 Październik 2009 Autor Napisano 18 Październik 2009 (edytowane) nie bardzo rozumiem. jeśli usunę funkcję onRollOver to wcale nie będzie link działać, łącze nie będzie aktywne. nie chcę się narzucać, ale może będzie łatwiej, jak wrzucę plik źródłowy tego menu: http://www.unk.pl/test.rar może ktoś wyczai co jest nie tak :) Edytowane 18 Październik 2009 przez secret
Johny Napisano 18 Październik 2009 Napisano 18 Październik 2009 (edytowane) Gdzies to sie musi zapetlac, w ogole w AS2 jest to mega nieczytelne, tak logicznie to onRollOut onRollOver powinno byc przypisane do jakiegos pola np, mozliwe ze w jednej klatce akcja dziala, klip zaczyna sie odtwarzac, w nastepnej, klatce "cos" do czego kod byl przypiany znika, cos sie zmienia i jest wykonywany kod z onRollOut i tak w kolko , w sumie to rozwiazanie jest nieestetyczne, wrecz nieporfesjonalne. Pomysl, nawet gdyby to dzialalo najezdzasz myszka na przycisk, zaczyna sie wysuwac, zjezdzasz 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 najezdzasz i jest przeskok jak jest schowany i sie wysuwa itd... oczywiscie mozna byloby to poblokowac i czekac az odtwarza sie cale sekwencje ale to tez bez sensu. Lepiej zastosowac event onEnterFrame i przeskakiwac co klatke (next/prev) po klipie z animacja w zaleznosci czy kursor znajduje sie w na przycisku (btn_1) lub nie. Animacja powinna miec tylko sekwencje wysuwania przycisku tutaj przykladowy kod w AS3 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{ ..... } kod tak na szybko, zeby bylo estetyczniej trzeba jeszcze posuwac evenLitener'y kiedy nie sa potrzebne Edytowane 18 Październik 2009 przez Johny
secret Napisano 18 Październik 2009 Autor Napisano 18 Październik 2009 ale ja pracuję w Action Script 2. No i ten kod co wysłałam powinien działać, jest o wiele krótszy, ale zapewne gdzieś leży błąd.
Johny Napisano 18 Październik 2009 Napisano 18 Październik 2009 tu masz przyklad z wykorzystaniem AS2: http://www.flashvault.net/tutorial.asp?ID=143 Dlugosc kodu nie ma tu wiekszego znaczenia, w AS3 masz kilka liniej wiecej bo w kodzie dodajesz EventListenery, masz wiekszy porzadek umieszczajac caly kod w jednej klatce zamiast kawalki kodow na poszczegolnych elementach w scenie jak w AS2
secret Napisano 18 Październik 2009 Autor Napisano 18 Październik 2009 dzięki, a czy mógłbyś zajrzeć do mojego pliku źródłowego? on bardzo mało zajmuje, może byś wiedział gdzie jest błąd. chyziryzisusipiesi - dobrze, ale to mi nic nie mówi, ja nadal nie wiem jak mam to naprawić? może napisz krok po kroku jak to zrobić.
Johny Napisano 18 Październik 2009 Napisano 18 Październik 2009 sorry, nie posiada flasha CS4, nie moge otworzyc pliku, zreszta w tutorialu z linka masz dokladnie opisane jak z pomoca AS2 stworzyc dokladnie taki przycisk (efekt) jaki cie interesuje
secret Napisano 18 Październik 2009 Autor Napisano 18 Październik 2009 (edytowane) to wcale mi nie ułatwia sprawę, przy tym tutorialu pewnie z parę godzin posiedzę i zrobię o ile mi się uda, sporo tam tego opisane jest. pewnie najprościej będzie jak zrobię zwykłą zmianę koloru tekstu i szkoda nerwów. zrobiłam identycznie jak na stronie: http://www.flashvault.net/tutorial.asp?ID=143 lecz u mnie przycisk sam się wysuwa i nie chce się zatrzymać, ciągle jest w ruchu, a nie powinno tak być. on powinien się wysunąć wtedy, kiedy ja najadę na niego. kurcze dziwne :/ Edytowane 18 Październik 2009 przez secret
kamil.ochel Napisano 18 Październik 2009 Napisano 18 Październik 2009 http://hotfile.com/dl/15200905/2f6af0e/test.fla.html 1
Gość Gosc Napisano 19 Październik 2009 Napisano 19 Październik 2009 no laska laska :D chodzi o to, że to nie jest kod w jednym. już pokazuję. na słowie "oferta" mam movie clipa, a w nim takie coś: http://www.unk.pl/przycisk.jpg w pierwszej klatce akcje, mam taki kod: stop(); this.onRollOver = function () { gotoAndPlay("on"); } this.onRollOut = function () { gotoAndPlay("off"); } this.onRelease = function () { _parent.gotoAndStop("oferta"); } W klatce 7 akcje mam kod stop(); I to tyle, jakiś czas temu robiłam podobne przyciski z takim samym kodem, z tym że bez wysuwania, ale ten kod działał jak należy. kod jest okej, ale element na ktorym jest zaczepiony chowa sie.. wiec po akcji rollover od razu odpala sie rollout :D podczep te akcje nie na samym elemencie tylko daj na wierzchu dodatkowe puste rectangle do ktorych podczep akcje... a chowaj buttona tak jak do tej pory
secret Napisano 19 Październik 2009 Autor Napisano 19 Październik 2009 (edytowane) Wielkie dzięki za pomoc! :) Kamień spadł mi z serca, a raczej z brzucha, bo tak mnie to martwiło że tego nie zrobię, że aż mnie skręcało w środku hehe. kamil.ochel - brawo za rozwiązanie, o to mi właśnie chodziło, wielkie dzięki za poświęcony czas :* aha, zapomniałam dodać najważniejszego - jesteście jedynym forum, którzy odpisują i pomagają. wcześniej pisałam na forach o flashu ale tam nawet nie raczą odpisać, a jak odpiszą, to byle jak i więcej nie wchodzą do tematu. tak więc możecie być z siebie dumni :) Edytowane 19 Październik 2009 przez secret
kamil.ochel Napisano 19 Październik 2009 Napisano 19 Październik 2009 ależ nie ma sprawy. jak używasz akcji na klatce w movie clipie (i chodzi mi o te rollovery itd) to dobrze jest sobie zrobić sztuczny przycisk (ktory zakrywa cala powierzchnie klipu ale jest niewidoczny). dlatego Ci się zapętlało :) tjviking nie ma sensu podpinać akcji pod rectangle można użyć tylko this na klatce ale taki rectangle musi być obecny :)
secret Napisano 19 Październik 2009 Autor Napisano 19 Październik 2009 no właśnie ja coś wcześniej próbowałam z tym niewidocznym przyciskiem ale nadal mi nie działało tak jak trzeba, najwidoczniej coś źle podpinałam.
Gość Gosc Napisano 19 Październik 2009 Napisano 19 Październik 2009 ależ nie ma sprawy. jak używasz akcji na klatce w movie clipie (i chodzi mi o te rollovery itd) to dobrze jest sobie zrobić sztuczny przycisk (ktory zakrywa cala powierzchnie klipu ale jest niewidoczny). dlatego Ci się zapętlało :) tjviking nie ma sensu podpinać akcji pod rectangle można użyć tylko this na klatce ale taki rectangle musi być obecny :) nie wiem, nie zagladnalem do pliku :P za leniwy jestem, jak zwykle wszystko mozna zrobic na wiele sposobow
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ę