webForumDet fria alternativet

Stänga filmklipp från mc

Flash

7 svar · 277 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Jag har fyra filmklipp (a,b,c och d). Jag har en knapp för att köra varje klipp. När jag trycker på en knapp så ska alla andra filmklipp stoppas. Då kan jag t.ex. lägga in det här på en knapp som ska visa a:

on (release) {
	// Stänger
	b.gotoAndStop(1);
	c.gotoAndStop(1);
	d.gotoAndStop(1);

	// Visar
	a.play();
}

Grejen är att jag vill ha stängfunktionen i ett eget mc där alla filmklippen stängs och sedan anropa detta så att koden för a-knappen blir:

on (release) {
	// Stänger 
	closeMC.play();

	// Visar
	a.play();
}

closeMC (ruta 2):

// Stänger alla
a.gotoAndStop(1);
b.gotoAndStop(1);
c.gotoAndStop(1);
d.gotoAndStop(1);

Problemet är att det inte funkar. a.play() ignoreras. :(

Medlem sedan dec. 200384 inlägg
#2

Hade du inte redan angett att ditt movieclip skall stoppas i din funktion?

a.gotoAndStop(1);

Medlem sedan nov. 200013 890 inlägg
#3

Jo, i "funktionen" i closeMC står det ju a.gotoAndStop(1); men efter detta ska ju a.play(); köras.
Men det gör det inte. Varför?

Medlem sedan maj 2003750 inlägg
#4

Därför att först säger du åt a och myMC att börja spela. i *nästa* bildruta så har myMC en "order" om att a skall stannas.

Dessutom kan det vara problem med sökvägarna. Ligger den där koden på ett filmklipp eller en knapp? och hur förhåller sig denna till filmklippet "a"?

/Mirandir

Medlem sedan juli 20021 363 inlägg
#5

Skippa .. skapa en global funktion som tar hand om det där istället..

Exempel:

http://member.webforum.nu/%23L%23/test.html

fla'n:

http://member.webforum.nu/%23L%23/test.fla

Medlem sedan nov. 200013 890 inlägg
#6

mirandir »
Menar du att problemet är att min "funktion" ligger i ruta 2? Det borde man ju i så fall kunna lösa genom att skriva closeMC.gotoAndPlay(2); men det funkar inte heller.

I det här fallet är det inte probem med sökvägen även om det inte riktigt ser ut så i min kod. Koden jag skrivit i den här tråden är bara påhittad, den riktiga koden är något mer komplex. ;)

#L# »
Du kan inte spara filmen som Flash 5 är du hygglig?

Medlem sedan juli 20031 505 inlägg
#7

Om du lägger en funktion i closeMC som kallas stopMC

function stopMC(playmc){
	_root.a.gotoAndStop(1);
	_root.b.gotoAndStop(1);
	_root.c.gotoAndStop(1);
	_root.d.gotoAndStop(1);
	_root[playmc].play();
}

och från knapparna så kallar du på funktionen så här

on(release){
	closeMC.stopMC("a");
}

Kan funka kanske... :)

Medlem sedan nov. 200013 890 inlägg
#8

Tack! Jag fick ändra till:

on(release){
	closeMC.stopMC("a");
	closeMC.play();
}

...men annars funkar det fint. :)

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