Jeg har lige lavet en rigtig fin knap med et par små movie-clips der kører når man har musen over min knap. Det er bare lavet ved at trække mine clips ind på "Over" framen inde i symbolet. "over" framen har 2 movie clips, et der får knappen til at blinke lidt, og et der puster lidt damp ud af en revne i toppen. er er dog 2 ting der ikke helt er som jeg havde håbet. 1, når jeg flytter musen fra knappen stopper begge klip med det samme. Jeg kunne godt tænke mig atdamp klippet enten spillede færdigt, eller i det mindste fadede ud. 2, når jeg clicker min knap, genstartes klippene fra over framen. Jeg kunne godt tænke mig dette ikke skete. Er der nogen der kan hjælpe? Kan sende jer FLA filen hvis de hjælper?
13 kommentarer
Hmm, du kan vel lave din knap til ét mc, hvor du har sat tre stop(); funktioner ind (ved start, hvor MouseOut delen slutter og hvor klik-delen slutter. Kan du følge mig?)
Så bruger du bare lidt AS3, hvor du sætter nogle listeners på.
En MouseOver, MouseOut og CLICK listener.
- Du siger bare til hvis du ikke fatter en pind
Så ved. f.eks. mouseOver laver du en funktion der siger knap_mc.gotoAndPlay(2);
Ved mouseOut laver du så den funktion som siger knap_mc.gotoAndPlay(x); hvor "x" er det frame hvor mouseout delen foregår.
Og ved klik, så siger du at flash skal gå til det frame hvor animationen for "Click" starter
Ved godt det virker lidt kludret, men håber du får fat i grundideen
jeg tror jeg er med =P men ikke helt. Giver det lige et forsøg
altså, egentlig kan jeg bare lave en film der viser hele sekvensen, og så bagefter sætte stop ind ikke?
Jo, nemlig
Også nogle forskellige listeners til knappen
hmm det vil sgu ikke rigtig virke for mig.
jeg har skrevet stop(); i frame 1 men den fiser bare afsted.
Derudover har jeg lidt svært ved at sætte de funktioner op etc.
det er sådan det ser ud lige nu, og det gør ingenting =P
stop();
knap_mc.addEventListener(MouseEvent.MOUSE_OVER, over);
function over (knap_mc).gotoAndPlay(2)
uden ( ) om knap mc
stop();
knap_mc.addEventListener(MouseEvent.MOUSE_OVER, handleOver)
function handleOver(me:MouseEvent):void
{
gotoAndPlay(63)
}
nået frem til det her, virker stadig ikke.
Den stopper i starten nu, men vil ikke spille. (63) er den frame min mouse over starter på
Du skal huske at hvis du kun skriver "stop();", så skal du gøre det INDE i din knap. Og så lave din listeners på stage
Prøv evt. at smide din .fla op et sted og giv et link. Så tager jeg lige et kig på det og prøver at lave det - med kommentarre self
Mvh
Krüger
går lidt fremad lige nu, men det driller stadig. Klippet spiller fint nu, men af og til skal jeg holde knappen inde for at få den til at spille hele klippet, ellers stopper den når jeg slipper. men kun nogle gange.
www.eras.dk/slider.fla filen ligger på min hjemme side.
Hov, og en ting mere, kan jeg sætte en "hit" ramme så den ikke aktiverer på det kæmpe område?
Jeg tager lige et kig på det. Hvis du skal have en "hit" ramme, så skal du have et nyt mc inden i dit første. Også skal du lave dine listeners til den, altså: knap_mc.hit_mc.add...
Men tager lige et kig på det og vender tilbage
///////
Sådan, meget fed knap
Jeg kunne ikke lige se de helt store problemer, prøv at forklar hvad du vil have den til og hvor det så giver problemer.
Har lavet en funktion mere, og lavet en kommentar til den.
For mig virker den nu helt fint.
Men sig endeligt til hvis der er noget?
Her ligger den
haha tak skal du ha. Og tak for al din hjælp forresten. Vanvittig fedt du gider at tage dig tid til at hjælpe en noob som mig =P.
problemet ser ud til at være væk nu. det var som om at hvis man lod OVER spille helt færdigt, så ville den ikke spille click.
Totalt fedt at du holder knappen lukket nu. det er super fedt. Ikke sikker på jeg fangede det med den skide hit ramme tilgengæld =P
Haha så lidt da, har jo også selv været noob engang (er stadig i forhold til mange andre herinde
)
Hvis du vil godt ind i AS3, så vil jeg da råde dig til at købe bogen "Learning ActionScript 3.0 - A beginner's guide". Skide god bog!
Det med hit:
Lige nu har du sat en masse listeners til at lytte efter hvornår der klikkes på din knap.
Så selv at din knap, fylder mere både op og ned, end der er grafik. Så gætter på det er der du vil have et "hit" område ?
Det er meget simpelt (for mig
), bare følg denne lille guide:
1. Gå ind i dit movieclip (knappen)
2. lav en firkant som fylder lige så meget som selve grafikken på knappen (sørg for at det ligger på det øverste lag - altså ovenpå selve knappens grafik)
3. Lav din firkant til at moveclip, og giv det instance navnet "hit_mc"
4. gå ud på stage igen, og lave din listeners om, så de ikke starter med
knap.add....
Men hedder
knap.hit_mc.add...
5. Tilføj følgende kode i starten af din kodning
hit_mc.visible = falseDen siger at man IKKE skal kunne se knap_mc, men den stadig skal være der (lidt som at sætte alpha = 0)!
Det gør at flash ikke lytter efter hvornår der klikkes på selve knappen, men hvornår der klikkes på hit_mc. At man skriver "knap" først er fordi hit_mc ligger INDENI selve knappen, så vil skal først have adgang til knappen OGSÅ kigge efter hit_mc
Håber det gav lidt mere mening