10. juni 2004 - 16:28Der er
9 kommentarer og 1 løsning
Preload swf fil, så den er klar til afspilning inde i hovedscene
Jeg arbejder med én .fla fil - der er opdelt i nogle scener.
Jeg har lavet en preloader i min hovedfilm (preloaderen er i en "preload_scene" for sig, som looper indtil "hovedscenen" er loadet). Som sådan fungerer det fint - al grafik, movies, buttons osv. bliver loadet. Problemet er imidlertid, at midt inde i "hovedscenen" (præcis i frame 44 af 68), skal der påbegyndes en afspilning af en ekstern swf fil (et musik-loop som ligger i en swf fil der fylder 220 kb). I øjeblikket har jeg et actionsscript på frame 44 [ LoadMovie ("loop_sound.swf", 1) ] i hovedscenen, hvilket selfølgelig medfører at musikken IKKE starter præcis der hvor den skal (fordi den liiiige skal loade de 220 kb). Dvs. at selv om preloaderen siger, at hele hovedscenen skal være loadet før den påbgyndes [dvs. ifFrameloaded ('hovedscene', 68) gotoandplay ('hovedscene', 1), så loader den ikke den eksterne swf fil ('loop_sound.swf').
Jeg har læst rigtig mange af indlæggene omkring preload af eksterne filer osv., men det er som om at de ikke kan bruges i dette tilfælde. Derudover er jeg absolut ikke en haj til as, hvilket måske er den virklige årsag til mit spørgsmål.
Kort fortalt vil jeg bare have preloaderen til at preloade swf filen INDEN den begynder afspilning af "hovedscenen", således at musikken er 100% klar til afspilning, når hovedet når frem til frame 44.
Nogen der har den - uden tvivl - indlysende løsning?
P.s: Preloaderen skal ikke indeholde nogen statuslinje for hvor meget der er loadet osv... Ikke noget fansy overhoved. Bare selve koden der skal sørge for at den kære lydfil (dvs. .swf fil) loader og er klar til brug ;-)
Hvis du alligevel vil loade din lydfil "samtidig" med din hovedfil, hvorfor så overhovedet have den i en seperat swf? Formålet med at splitte projekter op i flere swf er vel netop at man loader materiale efterhånden som man har brug for det?
Hmmm... jo altså: Ved at lægge lyden indeni en ekstern swf fil (som egentlig er en button) kan den spille på tværs af alle de diverse scener som ligger i hovedfilen. Det fungerer fint, men det er selve starttidspunktet for afspilningen som ikke er så let styre (fordi den pt. får besked på at loade i frame 44 og tager tid at loade). Hvis jeg lægger den ind i hovedscenen (og derved også ind i hovedfilen), så kan jeg ikke lade brugeren slukke og tænde for lyden på tværs af scenerne...
Til pyroman: Jeg har forsøgt at smide ovenstående kode ind i første frame i preloaderen, men jeg er ikke sikker på at det hjælper. Skal jeg stadig beholde det andet actionscript i frame 44 i hovedscenen (LoadMovie ("loop_sound.swf", 1)) eller er det måske dét der gør, at lyden stadig ikke starter præcis på frame 44 (fordi as reloader filen)?
Du kan vel bare lægge lyden i et movieclip med en stop(); i første frame, smide dette i første aller andet frame, i din første scene. Dette kan du give et linkage-navn (højreklik på movieclippet i library'et og vælg 'linkage', her slår du 'export for actionscript' til og slår så 'export in first frame' fra og giver den et navn).
Så kan du altid hente din lyd ind i et _level, og afspille den på tværs af scener:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.