Just nu i M3-nätverket
Jump to content

Flashmeny med bilder


Micke_skane

Recommended Posts

Micke_skane

Efter Mycket sökande, utan resultat, efter en tutorial på en flashmeny som liknar den som finns på http://www.gb.se så undrar jag om någon här har en länk eller något tips på hur man gör denna menyn.

Det är menyn med tre bilder som skjuts fram och tillbaka vid "onmouseover" och som finns vänster om den röda GB-gubben.

 

Det jag vet om den är att den är gjort med en textfil med bilderna osv för att man inte ska behöva ändra i scriptet vid uppdateringar.

 

Men kan man göra den på annat sätt med så går det lika bra :)

 

[inlägget ändrat 2006-03-13 13:16:59 av Micke_skane]

Link to comment
Share on other sites

Den där menyn består av de tre bilderna som är gjorda till movieclips. Sedan är dom nedskalade från början och skalas upp igen när man mousar över.

 

enkelt sett är det så här:

 

 

glass1_mc.onRollOver = function(){
   this._xscale = 1;
   this._yscale = 1;
}
glass1_mc.onRollOut = function(){
   this._xscale = 0.5;
   this._yscale = 0.5;
}

 

Fast dom har även gjort den lite "smooth" genom att stegra förändringen. Förmodligen med onEnterFrame.

 

Så här:

glass1_mc.onRollOver = function(){
this.onEnterFrame = function(){
	if(this._xscale <1){
		this._xscale += 0.1;
		this._yscale += 0.1;
	}else{
		delete this.onEnterFrame;
	}
}
}
glass1_mc.onRollOut = function(){
this.onEnterFrame = function(){
	if(this._xscale >0.5){
		this._xscale -= 0.1;
		this._yscale -= 0.1;
	}else{
		delete this.onEnterFrame;
	}
}
}

 

 

Link to comment
Share on other sites

Micke_skane

Stort tack för svaret!

 

Så man lägger in en bild i movieclipet och lägger AS:et på framen som innehåller bilden?

Eller gör man något med bilden på tidslinjen för att scala bilden?

Får inte det att fungera riktigt.

 

Movieclipet ska döpas till glass1_mc!?

 

Sen så drar man in movieclipet på scenen där man vill ha det?

[inlägget ändrat 2006-03-14 09:32:09 av Micke_skane]

Link to comment
Share on other sites

AS:et ska ligga i framen som innehåller movieclippet.

 

Du kan göra så här:

 

* Dra in bilden på scenen och markera den

* Tryck F8 för att konvertera och välj movieclip (nu hamnar alltså bilden inuti movieclippet på första framen och movieclippet ligger på scenen)

* Markera movieclippet och ge det instansnamnet glass1_mc

* Pasta koden i framen movieclippet ligger i på tidslinjen

 

 

Du kan även pasta koden direkt på movieclippet om du ändrar

glass1_mc.onRollOver = function()

glass1_mc.onRollOut = function()

till

 

on(rollOver)

on(rollOut)

 

 

Edit:

Jag upptäckte just att det var lite fel i koden. Värderna stämmer inte. Scale beräknas 0-100 och inte 0-1 som jag hade skrivit.

 

1 blir alltså 100

0.5 blir 50

0.1 blir 10

[inlägget ändrat 2006-03-14 18:35:46 av Cechise]

Link to comment
Share on other sites

Micke_skane

Hej Cechise,

 

Har testat det och det fungerar bra med att den förstoras/förminskar vid mouseover/out men det fungerar inte riktigt som GB:s-meny.

Skillnaden är att när man kommer in på sidan så är bilden redan stor men den fungerar efter man gjort första mouseout.

Sen så skalas bilden upp med övre/högra hörnet som en fast punkt.

Så den utgår ifrån det hörnet när den förstoras/förminskas.

Skulle vilja att den kom ifrån "centrum" och rakt ut, precis som GB-glass meny.

Vet att den menyn var/är gjord med en textfil(xml-fil) som styr vilka bilder som ska laddas in och vilken ordning. Då slipper man gå in i flashen varje gång man ska lägga till nått nytt. Sen styr då AS åt vilket håll menyn ska röras sig och vilken bild som ska "visas".

Rätt smart teknik!

 

(Ursäkta dumpen av tråden)

 

Link to comment
Share on other sites

Detta var en rolig grej! Jag tänkte göra en liknande lösning på en hemsida. Om jag skall lägga koden direkt på movieclippet får jag det inte riktigt till att fungera. Hur skall det se ut?

 

KEEP UP THE GOOD WORK!

 

Mvh

Joakim

 

Link to comment
Share on other sites

Att den är stor i början kan du enkelt lösa genom att markera mc:t och plocka fram transform fönstret och där fylla i hur stor den ska vara (50%).

 

Alternativt kan du lägga till den här koden först av allt när objekten uppträder på scenen:

glass1_mc._xscale = 50;
glass1_mc._yscale = 50;

 

 

Att den inte skalas från mitten beror på att registreringspunkten sitter upp till hörnet. Detta kan du ändra genom att gå in i ditt movieclip och justera innehållet så det ligger centrerat på mittpunkten.

När du konverterar något till ett objekt (F8) får du välja var du vill ha registreringspunkten. Kan vara bra att veta till nästa gång eller så.

 

 

Vad gäller XML å ändra vilken bild som ska synas går detta relativt enkelt att göra också. Man skapar då endast ett skal för bilden att ligga i och hämtar sedan filnamnet/sökvägen från textfilen och laddar in bilden i skalet.

 

För detta använder man XML eller LoadVariabels och loadMovie eller movieClipLoader. Har inte tid att gå in på det i detalj just nu men kolla upp XML, loadvariabels, loadmovie och moviecliploader i referensen så får du nog ett hum om vad det hela handlar om.

 

Finns även en del tutorials som berör det. Bla den här:

http://www.kirupa.com/developer/mx2004/xml_flash_photogallery4.htm

och många fler. bara att söka.

 

Link to comment
Share on other sites

Om koden läggs direkt på mcet byter man som sagt up glass1_mc.onRollOver = function() till on(rollOver)

 

Då ser det ut så här:

 

on(rollOver){
this.onEnterFrame = function(){
if(this._xscale <100){
this._xscale += 10;
this._yscale += 10;
}else{
delete this.onEnterFrame;
}
}
}
on(rollOut){
this.onEnterFrame = function(){
if(this._xscale >50){
this._xscale -= 10;
this._yscale -= 10;
}else{
delete this.onEnterFrame;
}
}
}

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...