webForumDet fria alternativet

styra olika swf i frames?

Flash

3 svar · 252 visningar · startad av vic

Medlem sedan apr. 2006244 inlägg
Frågan#1

Jag har sett en sida där man har musiken i en swf som man placerar på en sida, sen har man en annan sida där man har en swf där man kan stänga av/på ljudet. Dessa sidor är öppna samtidigt i ett frameset.

Anledningen till varför detta behövs är att endast navigationsmenyn är flash och resten html. När man byter sida så avrbryts ljudet vilket är en icke önskvärd effekt om man då kan ha musiken i frame som endast är 1% hög så påverkas inte sidans design och man kan samtidigt ha ett konstant ljud i bakgrunden trots att man byter sida.'

Någon som skulle kunna hjälpa mig med detta? Jag skulle stå er i evig skuld :e

Mvh vic

edit: sidan är förövrigt www.x3mclub.se

Medlem sedan maj 2003750 inlägg
#2

Använd LocalConnection.

http://www.macromedia.com/devnet/director/articles/local_connect_objects.html

/Mirandir

Medlem sedan apr. 2006244 inlägg
#3

Okej, men jag är inte så jätte haj på actionscript så jag greppar inte riktigt hur jag skall få den där koden att "StopAllSounds" i den andra filen som man connectar till..?

Medlem sedan maj 2003750 inlägg
#4

I filmen med ljudet:
1.) skapa en ny fil.

2.) Importera ljudfilen till biblioteket.

3.) Högerklicka ljudfilen i biblioteket.

4.) Välj linkage i popupmenyn.

5.) Bocka i "Export for actionscript" och skriv in "music" i textfälltet linkage ID.

6.) Markera första bildrutan och skriv in följande kod:

var bgMusic = new Sound(this);
bgMusic.attachSound("music");
bgMusic.start(0, 99999);

Oki nu spelar vi musiken via actionscript. Nu skall vi skapa en LocalConnection via vilken vi skall styra denna musikspelare.

Lägg till denna koden:

// Skapa en ny instans av ett LocalConnection-objekt.
var lc = new LocalConnection();

// Definerar en funktion vid namn "start" i LocalConnection objektet. 
// som startar musikspelaren.
lc.start = function()
{
    bgMusic.start(0, 99999);	
}

// Definerar ytterligare en funktion vilket är "stop" såklart.
lc.stop = function()
{
    bgMusic.stop();	
}

// Kopplar upp vårat LocalConnection-objekt för att lyssna efter sändningar 
// från andra flashfilmer.
lc.connect("musicPlayer");

Spara och publicera denna filmen.

Då är det dags att titta på nästa film. Nämligen den med on/off-knappen!
1. Skapa onOff knappen. Ge den ett passande instansnman t,.ex:
"onoff_btn".

2. Placera denna kod på första bildrutan med on/off-knappen:

// isPlaying håller reda på om musiken spelar eller inte.
var isPlaying = true;
// Skapar ett LocalConnection-objekt som vi skall använda 
// för att skicka meddelanden till musikspelaren.
var lc = new LocalConnection();
onoff_btn.onRelease = function()
{
	// "inverterar" isPlaying och testar det nya värdet.
	if(isPlaying = !isPlaying)
	{
		// Om sant så skall musikspelaren startas:
		lc.send("musicPlayer", "start")
	} else
	{
		// Annars skall ljudet stoppas:
		lc.send("musicPlayer", "stop");
	}
}

/Mirandir

281 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
151 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
146 ms — ändringar (db)