Avatar billede baitianlong Nybegynder
19. januar 2002 - 20:11 Der er 38 kommentarer og
1 løsning

Hvordan laver man animation i on(rollOver) på en knap ?

Hvis man vil have en tweening, eller lign når man holder musen hen over en knap, hvordan gør man så det ?

Det lader ikke til at man kan putte et symbol (movieclip) ind i et symbol (knap) ??
Avatar billede webdesigner Praktikant
19. januar 2002 - 20:15 #1
lav en knap og lav en butten action...
og lad den starte en movie on mouse over...
du skal altså de to være særskilte så kan du star dit movieclip...
Avatar billede paask Nybegynder
19. januar 2002 - 23:07 #2
Du kan sagtens have flere forskellige symboler inde i hinanden. Hvis du har fået en error er det nok fordi du har forsøgt at bruge et instance af et symbol inde i et instance af samme symbol. Det kan man ikke. Lav en button -> edit in place -> i den frame der hedder \'over\' laver du et movieclip med den ønskede tweening inde i.
Avatar billede baitianlong Nybegynder
21. januar 2002 - 00:53 #3
Jeg har fået puttet et movieclip ind i \"over\"-framen, men når man har klikket vender den tilbage til tilstanden \"over\", og afspiller animationen igen, kan man undgå dette ?
Avatar billede paask Nybegynder
21. januar 2002 - 01:11 #4
Skal animationen kun afspilles én gang, altså én gang for hver gang musen kommer over? Så kan du blot have en stop(); action i slutningen af animationen (movieclippet) der ligger i \'over\' stadiet. Hvis animationen kun skal afspilles ved mouseOver indtil man har trykket 1. gang skal vi til at scripte lidt...

Kan du følge mig? Og måske uddybe lidt mere?
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:12 #5
paask >> du er da også overalt !!

Meget hjælpsom fyr !

Det er naturligvis til samme side som det andet spørgsmål, med sekunderne.

Prøv at holde musen hen over en knap og tryk, når man slipper, kører den jo animationen fra over-framen igen.

http://www.legende.dk/space
Avatar billede paask Nybegynder
21. januar 2002 - 02:16 #6
Hehe, ja her til aften har jeg taget mig en stærkt tiltrængt eksperten tur ;0)

Jeg har lige forsøgt mig med en knap der ser ud som om den er præcist som din. Jeg kan simpelthen ikke se hvorfor din over animation bliver afspillet igen... min gør ikke. Kan du evt. sende mig filen, så kan jeg nok hurtigt se hvor den er gal... ;0)
Avatar billede paask Nybegynder
21. januar 2002 - 02:18 #7
Hey, ikke nødvendigt, jeg har den...

Din animation er kun placeret i \'over\' framen. Lad den ligge i både over og down framen. Ikke som keyframes i hver men lad den strække sig over bedde (evt. bare med hit også...) - så burde det funge ;0)
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:19 #8
jeg har lavet et symbol (movie clip) hvor der tweenes i farver.

dette symbol har jeg puttet ind i over-framen på knappen, så når man slipper knappen vender den jo tilbage til over og spiller tweeningen igen
i down-framen har jeg bare gjort den helt rød !!
Avatar billede paask Nybegynder
21. januar 2002 - 02:20 #9
Så har du selv fanget den :0)

Bare drop mit svar, lav selv et og nap dine points igen, der er rigeligt i det andet spm. :0)

ref. http://www.eksperten.dk/spm/161465
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:21 #10
Ja, ok, det virker, men så kan jeg ikke \"krympe\" den i down-mode !!
Avatar billede paask Nybegynder
21. januar 2002 - 02:32 #11
Ok, jeg har en idé...

Først placerer du hver af dine knapper i et movieclip hver. Dernæst sætter vi en variabel værdi (på knappen) der afhænger om knappen er trykket ned. Dvs.

on (press) {
    jegErPresset = true;
}
on (release) {
    jegErPresset = false;
}

Husk, benyt IKKE \'var\' foran, så bliver variablen global, nu er den lokal og kan derfor genbruges på alle dine knapper.

Så sætter du denne kode på movieclippet der indeholder knappen:

onClipEvent(load){
jegErPresset = false;
}

onClipEvent(enterFrame){
    if(jegErPresset == true){
    this._xscale = 80;
    this._yscale = 80;
    } else if (jegErPresset == false){
    this._xscale = 100;
    this._yscale = 100;
    }
}

Dvs. hvis musen holdes nede bliver din knap skaleret ned til 80 % af oprindelig størrelse og ryger tilbage til normal størrelse når du giver slip. Alt imens fungerer din animation. Du kan bare ændre 80-tallene til en større/mindre værdi alt efter hvad du synes. Kan det bruges?
Avatar billede paask Nybegynder
21. januar 2002 - 02:37 #12
Du kan også nøjes med at \'krympe\' knapperne en 5-10 procent ved at have _yscale til 90-95 stykker, og så have en mere markant værdi for _xscale, måske bare de 80, så ligner det lidt mere det du har nu.

Det gode ved denne metode er jo, at knapperne fortsætter med at skifte farve hvis du trykker før animationen er færdig, og ikke blot hopper direkte til den mørke røde...
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:43 #13
Du har ret i det sidste, der også irriterede mig før (det røde ((o;)

Anyway. Din nye ide lyder lidt skummel.. Hvis jeg putter sumbolet button ind i et symbol movieclip, og derefter dette symbol ind i hovedfilmen, er det jo svært at sætte links på

Kan man ikke skrive alt det med true/false i symbolet button ??
Avatar billede paask Nybegynder
21. januar 2002 - 02:49 #14
Det kan du sagtens, du kan godt have det hele på knapperne, metoden er den samme. Den eneste forskel er så at du må ændre variabel navnene på hver enkel knap...
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:49 #15
P.S. Føler du dig \"presset\" ? (ha ha ha)
Avatar billede paask Nybegynder
21. januar 2002 - 02:49 #16
hehehe :0)
Avatar billede paask Nybegynder
21. januar 2002 - 02:51 #17
Jeg sidder lige og prøver mig frem, det hjælper ikke at skifte variabelnavnene, du skalerer hele filmen hvis knapperne ikke er i hver sin egen movie.
Avatar billede paask Nybegynder
21. januar 2002 - 02:52 #18
Der er da i øvrigt ikke noget svært ved at sætte links på, movieclips i knapper med movieclips etc. etc. er netop noget af det smarte ved Flash. Du kan ligeså godt gå igang med at lære at strukturere på denne måde ;0)
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:53 #19
Hvis man kunne skrive:

if(jegErPresset == true){
\"navnet på knappen/symbolet\"._xscale = 80;

i din kode, kunne man måske putte den ind i hovedfilmen ?? (blot en tanke)
Avatar billede paask Nybegynder
21. januar 2002 - 02:54 #20
Jeps, men knapper har ikke instance navne. Lav nu bare de movieclips dovenlaps hehe ;0)
Avatar billede baitianlong Nybegynder
21. januar 2002 - 02:56 #21
ellers skal man vel skrive handlingen

getURL
loadMovie
gotoandPlay

i det movieclip, hvor man har puttet knappen i, og som man derefter putter i hovedfilmen ??!?

(det er næsten volapyk)
Avatar billede baitianlong Nybegynder
21. januar 2002 - 03:02 #22
OK, hvis jeg har forstået det rigtigt skal hver knap fylde 1 frame i hver sit movie clip, og i denne frame skal der stå:

onClipEvent(load){
jegErPresset = false;
}

onClipEvent(enterFrame){
    if(jegErPresset == true){
    this._xscale = 80;
    this._yscale = 80;
    } else if (jegErPresset == false){
    this._xscale = 100;
    this._yscale = 100;
    }
}


...og handlingerne

on (press) {
    jegErPresset = true;
}
on (release) {
    jegErPresset = false;
}

skal sidde på knapperne i hver deres movieclip..

fint nok, så skal deres goto-handling (som de tre ovennævnte) sættes på bagefter disse to, ikke ?

derefter er det disse nye movieclip, jeg hiver ind i hovedfilmen fra centrum af skærmen (i dette tilfælde)


Avatar billede paask Nybegynder
21. januar 2002 - 03:04 #23
Nøj jeg har omskrevet dette reply mange gange ;0)

Nej, dine clipevents skal sættes på de movieclips der indeholder knapperne, ikke inde i dem...

skriver videre...
Avatar billede paask Nybegynder
21. januar 2002 - 03:07 #24
I din main timeline skal du have et movieclip til hver af dine knapper. Inde i disse skal der, ganske rigtigt, kun være 1 frame hvori dine knapper ligger (én knap til ét movieclip). På knapperne sætter du ganske rigtigt variablen jegErPresset.

Det andet script
onClipEvent(load){
jegErPresset = false;
}

onClipEvent(enterFrame){
    if(jegErPresset == true){
    this._xscale = 80;
    this._yscale = 80;
    } else if (jegErPresset == false){
    this._xscale = 100;
    this._yscale = 100;
    }
}
placerer du altså direkte som movieclippets action ude i din main-timeline. Kan du følge?
Avatar billede baitianlong Nybegynder
21. januar 2002 - 03:08 #25
Sorry hvis jeg er lidt tungnem... Metoden er bare meget ny for mig, og det er sent...

Men jeg tror jeg har det nu. Man putter knappen i 1 frame i et mc og giver den on press-handlingerne...hiver dette mc ind i hovedfilmen og giver det onclipevent-handlingerne. Ikke ?
Avatar billede paask Nybegynder
21. januar 2002 - 03:10 #26
Det er da helt oki, vi tager den med ro, sent er det jo ;0)

Præcist som du har beskrevet! De andre actions for knapperne, goto, loadMovie eller hvad de end er placeres så ligeledes på selve knapperne, sammen med jegErPresset.
Avatar billede baitianlong Nybegynder
21. januar 2002 - 03:10 #27
og de handlinger jeg nævnte ligger også på knappen inden i dens mc, der skal vel så stå f.eks:

on(press){
_root.gotoandplay()
}
Avatar billede baitianlong Nybegynder
21. januar 2002 - 03:12 #28
du har allerede svaret. OK... Tak for hjælpen

Vi snakkes ved om den med decimalerne ((o;
Avatar billede paask Nybegynder
21. januar 2002 - 03:12 #29
Hey, var det det?! Du må endeligt skrive hvis der er mere!
Avatar billede paask Nybegynder
21. januar 2002 - 03:13 #30
Oki - sov godt, jeg ser lidt mere på den nu, men tænker også lidt trægt ;0)
Avatar billede baitianlong Nybegynder
21. januar 2002 - 03:16 #31
Men der skal stå _root, ikke ?
Avatar billede paask Nybegynder
21. januar 2002 - 03:24 #32
Hentede lige lidt nat-mad :0)

Det kommer jo an på hvad du vil. Hvis din film er struktureret således, at knapperne ligger i et layer der spænder over ex 5 frames (i main timeline) hvor hver af disse frames har en stop(); action, så skal du skrive _root.gotoAndStop(\"minFrame\");

Her er minFrame en frame label for den ønskede label, menupunkt om du vil. Du kan fx have \"legende\" - \"web-design\" etc.

Med _root.gotoAndStop(\"somewhere\"); så får du selve din hovedfilm til at gå til den ønskede frame, og det er vel sådan du gør...
Avatar billede baitianlong Nybegynder
21. januar 2002 - 11:18 #33
Jeg kan ikke tweene de nye \"knap_movieclips\" i hovedfilmen, de kører kun første frame af tweeningen, ellers virker det hele fint...

Men jeg skal da kunne tweene dem, (ligesom før, hvor de kom fra center af skærmen med str. 0%)

Og min blinke-effekt, hvor jeg i en keyframe har skruet op for rgb i advanced effect, duer heller ikke ? Er der råd
Avatar billede paask Nybegynder
21. januar 2002 - 18:53 #34
Jeg har lige siddet og fedtet mig frem. Jeg kan heller ikke tweene dem, jeg vil gætte på at motion tween og scale konflikter på en eller anden måde.

Det er kun som \'intro\' ikke? Altså i starten \'falder knapperne på plads\' ikke? Så vil en alternativ metode være, at du flytter alle knapperne til den frame hvor de ligger fastlagte. Markér dem alle, gå tilbage til den frame hvor animationen begynder, ctrl+shift+v (paste in place). Så ligger knappere nu i 2 forskellige frames.

Markér dem individuelt, tryk ctrl+b (break apart) et par gange til du igen har normal grafik, lav disse til et nyt grafik symbol (F8) og så tween disse nye symboler, så de \'falder på plads\' på den korrekte vis, hvor den sidste frame er den lige før knappernes. Hav dem evt i forskellige lag, eller alle i ét mc, det styrer du selv.

Det er en lidt alternativ løsning, hvis det volder for mange problemer kan jeg lige tage et kig på den og smamenfatte det.
Avatar billede baitianlong Nybegynder
21. januar 2002 - 19:10 #35
Jeg ser hvor du vil hen...

Jeg kunne jo bare bruge et \"billede\" af knapperne til at tweene introen, og når de er på plads, kan jeg ændre dem til knap_clip\'sene...

-Det er jo klart, ...-men det er efterhånden meget arbejde, der er kommet ud af at jeg skulle have en skaldet animation i mouse-over...
Avatar billede baitianlong Nybegynder
21. januar 2002 - 19:12 #36
Når vi nu er i gang, og inden du får et nervesammenbrud, er dette nok lige noget for dig... Jeg ved du har løsningen !

http://www.eksperten.dk/spm/161656
Avatar billede paask Nybegynder
21. januar 2002 - 19:45 #37
Tja det er rigtigt, men til gengæld bliver det også lidt bedre end da vi begyndte ;0)

Jeg har lige set lidt (kun lidt, har lidt travlt og stress over en kommende eksamen) på det andet spm. Det ser ud som om du er i gode hænder hos lingoman og pixelpaw, selvom de endnu ikke har ramt plet.

Jeg vil tro at du bliver nødt til at loade alle de andre eksterne .swf\'s ind i level1, ellers har du ikke en level til at gemme variabler i. På den måde kan du styre (i starten af main med intro og menu) ved hjælp af variabler og if else sætninger, præcist hvor du kommer fra, og hvilken action filmen skal tage. Dvs i hver loaded film (i level 1) kan du i starten skrive (_level0.vaekMenu = true). I menu\'en har du en if-else løkke, hvor den tjekker om menuen skal væk. Hvis den skal det går menu-filmen (den på de 99 frames) til fx frame 100, der er tom, bortset fra den indeholder samme if-else løkke. Når du så vil tilbage til hoved menu\'en fra en loaded .swf, så sætter du vaekMenu = false, og menu\'en bliver vist igen. Ligeledes kan du unloade swf\'en samme sted.

Giver jeg mening? Min hjerne koger over pensum-stuff, og min krop er fyldt med koffein, så hvis jeg er lidt usammenhængig er det derfor. Alt andet lige ser det ud som om pixelpaw og longo har forsøgt at sige noget lignende.
Avatar billede paask Nybegynder
21. januar 2002 - 19:46 #38
Lingo even... smutter lige et stykke tid, skal have aftensmad...
Avatar billede baitianlong Nybegynder
22. januar 2002 - 14:52 #39
Der er ikke mere plads på dette spørgsmåls side !!!!!

Hvis du får tid, så deltag på det andet spørgsmåls side...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester