PDA

Volledige versie bekijken : Submovie preloaden via Hostmovie.


bjorn
%Europe/Berlin %469 %2005, 12:15
Hallo,

Voor een project waar ik al een tijd mee bezig ben heb ik een hoofdmovie en een 5tal submovies die ik in de hoofdmovie inlaad met de volgende code achter een button:

on (release){
loadMovie("Filmpje1.swf", "theClip");
}

'theClip' is een movie clip symbool in de hoofdmovie.

Op dit moment heb ik in alle submovies een preloader. DIt werkt prima. Maar wat ik eigenlijk graag wil is dat de hoofdmovie de submovies preload. En dat wanneer de eerste submovie wordt afgespeeld, de tweede alvast wordt geladen. Zodat de bezoeker daar niet (zolang) op hoeft te wachten.

Ik heb verschillende tutorials geprobeert op Actionscript.org en bestanden geprobeerd te gebruiken van Flashkit.com, maar ik kom er niet uit.

Zou iemand mij misschien kunnen helpen?

Alvast heel hartelijk bedankt!

Björn

theFlashWizard
%Europe/Berlin %573 %2005, 14:46
al eens de moviecliploader bekeken?
MovieClipLoader:
http://www.kirupa.com/developer/actionscript/moviecliploader2.htm
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004/index.shtml
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004_Part2/index.shtml

TheDutch
%Europe/Berlin %771 %2005, 19:30
Weer een té makkelijk antwoord van theFlashWizard...heb je er wel plezier in? ;)

Wat is precies je probleem Bjorn?

damarez
%Europe/Berlin %865 %2005, 21:46
ik denk dat je gewoon een preloader moet zetten in je sub movie(S)
dan moet het al lukken eigenlijk.Maar
er is op actionscript.org een tutorial over meerdere movies tegelijk inladen
het is op de tutorial pagina
succes

bjorn
%Europe/Berlin %352 %2005, 09:27
al eens de moviecliploader bekeken?
MovieClipLoader:
http://www.kirupa.com/developer/actionscript/moviecliploader2.htm
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004/index.shtml
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004_Part2/index.shtml
Ik heb er even naar gekeken, maar het ziet er allemaal nog vrij moeilijk uit.

ik denk dat je gewoon een preloader moet zetten in je sub movie(S)
dan moet het al lukken eigenlijk.Maar
er is op actionscript.org een tutorial over meerdere movies tegelijk inladen
het is op de tutorial pagina
succes
Dit is mij wel gelukt. Alleen heb ik liever dat de volgende submovie onzichtbaar geladen word tijdens het afspelen van de eerste submovie, enzovoort

Weer een té makkelijk antwoord van theFlashWizard...heb je er wel plezier in? ;)

Wat is precies je probleem Bjorn?

Wat ik graag wil doen is het volgende. Ik heb een hoofdmovie met een meerdere movieclips op verschillende plaatsen staan. Zie plaatje.

Het eerste filmpje word geladen in mc1, de tweede in mc2 en de derde in mc3. mc2 en mc3 zijn eerst niet zichtbaar. De movie die in mc2 komt wil ik graag tijdens het afspelen van de movie in mc1 preloaden. Na het preloaden mag deze nog niet afspelen, tot dat mc1 klaar is.

Is dit mogelijk, en weet iemand hoe? Het voornaamste probleem waar ik mee zit is het preloaden van een submovie in een hoofdmovie.

http://img212.imageshack.us/img212/4347/flashpreloadprob4fh.gif

theFlashWizard
%Europe/Berlin %611 %2005, 15:40
dingen zijn nou eenmaal niet altijd makkelijk he.. :P
enne theDutch.. waarom zou ik het gaan uitleggen als het uitgelegt is.. ;)
maarre damarez dan zou je dus in elke subpagina opnieuw dezelfde preloader moeten zetten.. dat kost meer tijd, dat is minder dynamisch en neemt meer ruimte in.. :$

Bjorn je zal dus een loadClip moeten verbinden met een onRelease..
was je al n tuturial tegengekomen over meerdere tegelijkertijd loaden?

Folkert
%Europe/Berlin %688 %2005, 17:31
Bjorn, je kan bv een array maken met de movies die je wilt preloaden.
Verder gebruik je dan bv een enterFrame of interval functie om de load te checken.
De load check doe je in een eigen functie welke enkel een url en een target nodig heeft. voorbeeld

//een boolean welke aangeeft of er een load bezig is
var isPreloadRunning:Boolean = false;
//een variable om de interval in te zetten
var intVal:Number = null;
//het huidige loadObject deze dien je dus te maken als je iets wilt preloaden
var currentLoad:Object = { url:"movieA.swf", target: _level0.clipA });
//de preLoad functie zelf
function preLoad( theUrl:String, targ:MovieClip )
{
if(!isPreloadRunning)
{
loadMovie( currentLoad.url, currentLoad.target );
if(intVal!=null)
{
clearInterval(intVal);
intVal = null;
}
_level0.intVal = setInterval( this, "preLoad", 100);
isPreloadRunning = true;
}
else
{
//actual preload check
var lClip = __curLoad.target;
var bl:Number = lClip.getBytesLoaded();
var bt:Number = lClip.getBytesTotal();
trace("INFO :: preLoad() :: preloading clip: "+lClip+"\n loaded "+bl+"bytes of "+ bt+" bytes total");
if( bl > 4 && bl >= bt)
{
//preload klaar doe wat je wilt.
isPreloadRunning = false;
clearInterval(intVal);
intVal = null;
}
}
}


eh code is niet getest verder maar zou moeten kloppen ongeveer ;)
Verder kan je het makkelijkst in je suMovie een stop op de eerste frame zetten.
Zo kan je simpel vanuit de hoofdmovie sturen en starten. De clips invisible zetten kan gewoon onLoad van de clip zelf, of in je mainTimeline (bij de bovenstaande code bv)
dus

clipA.onLoad = function (){ this._visible = false;}

theFlashWizard
%Europe/Berlin %697 %2005, 17:44
ik blijf erbij dat je beter en makkelijker een loadmovieclip class kan gebruiken.. dit ziet er uit als een moeilijke code om n loadMovie hetzelfde te laten doen.. zo ongeveer..
(no offence)

Folkert
%Europe/Berlin %380 %2005, 10:08
non taken, de MovieClipLoader is uiteraard een makkelijke en snelle oplossing daar heb je gelijk in. (player 7 dan he ;))

bjorn
%Europe/Berlin %341 %2005, 09:12
Welke player het is maakt mij niet uit.

Bedankt Folkert voor je code! Waar kan ik deze invoeren? En moet ik ook nog namen van instances veranderen?

Of wanneer die makkelijker is, hoe doe ik zoiets met de MovieClipLoader class?

bjorn
%Europe/Berlin %462 %2005, 12:05
*bump*

theFlashWizard
%Europe/Berlin %474 %2005, 12:23
daarom zijn die tuturials he.. ;) om je dat nou net uit te leggen.. ;)
dus vertel maar hoever je komt, dan helpe wij je weer verder.. :)

GVR
%Europe/Berlin %512 %2005, 12:17
ik heb een project waarin in met een preloader-loop met de code die hieronder staat

if (_framesloaded>=_totalframes) {
gotoAndStop(3);
} else {
setProperty("preloaderbalk", _xscale, 300*(_framesloaded/_totalframes));
gotoAndPlay(1);

ik vraag me af of bij het laden, de keyframes van alle gebruikte symbolen zoals movie clips, ook geladen worden,

want ik krijg op een bepaald moment behoorlijke piek bij het laden in de bandwidth profiler, ik denk dat dit komt door een movieclip die in dit frame word geladen.

ik denk dus dat het nodig is, om de deze movie clips in de preloaderfase te laden, ik kan alleen vinden hoe je externe submovies kunt loaden (swf-bestanden) maar ik wil dus een submovie uit de libary tijdens de preloaderfase laden

mvgvr

GVR
%Europe/Berlin %569 %2005, 13:40
ik heb een project waarin in met een preloader-loop met de code die hieronder staat


if (_framesloaded>=_totalframes) {
gotoAndStop(3);
} else {
setProperty("preloaderbalk", _xscale, 300*(_framesloaded/_totalframes)); gotoAndPlay(1);
}


ik vraag me af of bij het laden, de keyframes van alle gebruikte symbolen zoals movie clips, ook geladen worden,

want ik krijg op een bepaald moment behoorlijke piek bij het laden in de bandwidth profiler, ik denk dat dit komt door een movieclip die in dit frame word geladen.

ik denk dus dat het nodig is, om de deze movie clips in de preloaderfase te laden, ik kan alleen vinden hoe je externe submovies kunt loaden (swf-bestanden) maar ik wil dus een submovie uit de libary tijdens de preloaderfase laden


mvgvr.