PDA

Volledige versie bekijken : Externe swf's achter elkaar afspelen...


AbsoluteBeginner
%Europe/Berlin %851 %2008, 20:26
Hallo Guru's,

Ik heb jullie hulp nodig.

Even de achtergrond: Voor een verjaardagsuitnodiging ben ik bezig met morphen. In de morph zie je de jarige opgroeien van baby naar puber, naar volwassene.

Het probleem is dat ik voor het morphen een programma gebruik wat maar 2 foto's tegelijk aankan. Dit programma kan hier vervolgens wel een SWF van maken.

Ik heb nu van ieder jaar 1 swf. Om een voorbeeld te geven: in swf1 verandert de netgeboren baby in een 1jarige. En in swf2 verandert de 1jarige weer in een 2 jarige, enz..

In totaal heb ik nu 18 swf's die ik graag achter elkaar wil afspelen, ik weet alleen niet hoe ik dit moet bewerkstelligen. Ik heb eerst geprobeerd alle swf's in te laden in Macromedia Flash MX Prof 2004, maar na 4 swf's krijg ik een error (out of memory). Mijn idee was nu om een swf te maken van 18 frames, waarin in ieder frame 1 externe swf wordt aangeroepen. Alleen hoe ik dit nu moet aanpakken weet ik niet.

Hebben jullie hier ideeën over?

Alvast bedankt!

nuvorm
%Europe/Berlin %918 %2008, 22:02
een gemakkelijke oplossing zou zijn om in de externe swf een functie aan te roepen in de _root die dus verwijst naar de movie die de clips laadt.
hierin kun je dan de volgende clip laden.

groet Wouter

NeS
%Europe/Berlin %934 %2008, 22:26
Is het misschien onderstaande script wat je zoekt. Speelt de externe mc's achter elkaar af. Probeer het maar...

//Maaak een lege MC op de eerste frame en noem hem "doel"
//zet deze AS in de root op de eerste frame
var teller = 1;
var totaal = 18;//zet hier het aantal mc's die je hebt gemaakt
var doel_mc = doel;

// funktie laad ext swf
function loadNextSwf()
{
if (teller <= totaal)
{
loadMovie("mc" + teller + ".swf", "doel");//hernoem je mc's als mc1, mc2, mc3,... etc
onEnterFrame = function ()
{
if ((doel_mc._currentframe == doel_mc._totalframes) && (doel_mc._totalframes > 1))
{
unloadMovie(doel_mc);
delete onEnterFrame;
loadNextSwf();
}
};
teller++;
} else
{
teller = 1;
loadNextSwf();
}
}

loadNextSwf();