Avatar billede plastic.gangsta Nybegynder
10. juni 2003 - 13:11 Der er 9 kommentarer og
1 løsning

Load en undermenu via movieclip

Hej,

Jeg arbejder med Flash 6.0 og har en menu opbygget i højre side af skærmen. Mening er så at når man trykker på en af menu punkterne at der skal ske to ting. (1) Åbne en tekst i en textfield( er ik noget problem fungerer fint nu) (2) åbne et movieclip som skal fungere som en slags undermenu. Dvs i movieclippet er der placeret 3 el. 4 buttons som så skal kunne åbne tekster i textfield'en

Hvordan gør jeg det nemmest? Hvordan angiver jeg x,y koordinater for movieclippet?



/Jens
Avatar billede mat Nybegynder
10. juni 2003 - 16:41 #1
"åbne et movieclip" - det er der vist ikke noget der hedder? Mener du at det skal gå til en ny frame eller vil du hente det i library eller er det en ekstern swf?

At ændre indholdet i et tekstfelt fra knapperne i movieclippet er ikke noget problem - men det er lidt afhængigt af hvordan ovenstående hænger sammen.

Movieclips har x og y properties, de tilgåes med: instancenavn._x og instancenavn._y ..ændrer du på disse properties ændrer du også på movieclippets placering.

men kort sagt, hvis jeg skal kunne svare skal jeg vide lidt mere om din metode, (det kan selvfølgelig være mig der er lidt tung?)

mvh mat
Avatar billede plastic.gangsta Nybegynder
10. juni 2003 - 20:05 #2
jeg skal loade et movieclip end i samme frame (1) sådan at movieclippet fungerer som en undermenu. Man kunne også godt lave det sådan at undermenuen kom i frame 2, men det vil jeg helst undgå. SÅ movieclippet skal altså loades ind fra mit Libary.

Vil du forklare lidt nærmere omkring x,y placering, måske skrive koden til mig...


/Jens
Avatar billede _k Nybegynder
10. juni 2003 - 21:54 #3
Hvis du blot skal bruge et movieclip som nogen gange er fremme, og andre gange ikke er fremme (sådan som de fleste folde-ud menuer virker), kan du bruge metoden _visible. Du får lige et eksempel:

Lav et mc, som indeholder den menu som skal foldes ud. Giv den instancenavnet "mc". I første frame af din film skriver du så:

mc._visible = false; // Vupti er mc'et forsvundet inden det blev set.

Når du så ruller over den knap, som skal gøre mc'et synligt, kan du bruge følgende script:

on (rollOver) {
  mc._visible = true; // Synligt igen
}
on (rollOut) {
  mc._visible = false; // Usynligt igen

.... brugt korrekt, er denne lille snas kode fantastisk anvendelig ;o)

Og x- og y-koordianterne tilgår du på næsten samme måde. Prøv f.eks. at skrive nedenstående i din første frame:

mc._x = 0;
mc._y = 0;

og dit mc havner oppe i venstre hjørne. Gæt selv hvad du skal skrive, hvis x-værdien skal være 50 og y-værdien 200.....
Avatar billede _k Nybegynder
10. juni 2003 - 21:55 #4
ja, ja, glemte en tuborgklamme - men det skal da ikke skille os ad ;o)

on (rollOver) {
  mc._visible = true; // Synligt igen
}
on (rollOut) {
  mc._visible = false; // Usynligt igen
}
Avatar billede mat Nybegynder
10. juni 2003 - 23:12 #5
hvis du insisterer på at hente movieclippet fra library kan du gøre noget i denne stil:

Du skal bruge to movieclips, det ene er det der folder sub-menuen ud på roll over, det andet er sub-menuen (hvori dine knapper ligger)..det andet skal ligge i library og have linkage "menu" (uden ""). Det første skal bare ligge på scenen. Grafikken i begge skal ligges i 0, 0.

På dit første movieclip (det på scenen) ligger du følgende actionscript:

onClipEvent (load) {
    this.w = this._width;
}
onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        this.attachMovie("menu", "nm", 100);
        this.nm._y = localToGlobal(this._y);
        this.nm._x = localToGlobal(this._x) + this.w;
    }
    else {
        removeMovieClip(this.nm);
    }
}

..så kommer submenuen på roll over og bliver fjernet igen på roll out. Der er masser af måder at gøre det på og _k´s løsning er mindst ligeså god, hvis ikke bedre :)

mvh mat
Avatar billede plastic.gangsta Nybegynder
11. juni 2003 - 01:28 #6
K, ret god metode du skriver men så vidt jeg lige kan se opstår der stadigvæk et problem.

Der er fem hovedmenupunkter som hver især skal have en submenu. Hovedmenuen ligger i højre side af skærmen og submenuen i venstre side ( lyder måske lidt dumt men ser rigtig fedt ud) dvs. at alle submenuen skal ligge samme sted. Uden at være særlig god til flash ser jeg problemet sådan her:

Når brugeren laver sin roll over på menupunkt 1 i højre side af skærmen åbner den submenuen i venstre side. Så skal scriptet vil ikke unloade sig selv ved rollout, da man så ikke kan trykke på nogle af submenu knapper da de forsvinder inden man kan få musen derover?

Andet problem: Da der skal være 5 forskellige submenuer der skal komme frem samme sted skal man på en eller anden måde unloade submenu 1 og erstatte den med submenu 2, hvis brugeren trykker på menupunkt 2 i højre side af skærmen.

Håber jeg gør mig selv forstålig


/Jens
Avatar billede _k Nybegynder
11. juni 2003 - 10:48 #7
Ok, så tror jeg fremgangsmåden er en helt trejde!

Lav et mc, hvor du i frame 1 har ingenting, i frame 2, har du menu 1, i frame 3 menu 2 osv. Husk en stop()-action i mc'ets frame 1 (på tidslinjen)

Når du starter filmen, er der altså ingenting på skærmen (du KUNNE principielt også bruge enten _visible eller loade fra biblioteket som mat beskriver), men når musen er over et menupunkt, hopper den hen på den rigtige frame i dit menu-mc.

Koden på din hovedmenu er så simpel som:

// Action på knap 1
on (rollOver) {
  menuMC.gotoAndStop(2);
}

// Action på knap 2
on (rollOver) {
  menuMC.gotoAndStop(3);
}

osv. osv. - husk at give dit mc indeholdende undermenuerne, instancenavnet menuMC.
Avatar billede plastic.gangsta Nybegynder
11. juni 2003 - 17:04 #8
mange tak K, kanon besvarelse
Avatar billede plastic.gangsta Nybegynder
11. juni 2003 - 17:05 #9
jeg kan ik give dig point, er det fordi du ik har skrevet svar men kun kommentar?
Avatar billede _k Nybegynder
11. juni 2003 - 19:02 #10
yep, lige præcis, så her har du et svar :o)
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