10. juni 2003 - 13:11Der 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?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
"å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?)
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...
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.....
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:
..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 :)
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.
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.
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.