27. juni 2002 - 15:36Der er
15 kommentarer og 1 løsning
Lyd i library
Jeg har en lydfil i mit library i en .swf som styres v.hj.a. script. Fordi den kun ligger i library og ikke noget sted i selve filmen, så loades den som det allerførste!
Derfor kører min intro-preloader først EFTER at lyden er loadet, og indtil da... hvid skærm. Og det kan jeg ikke lide!
Ja, den er fanget. Men opfører den sig så ikke som en ekstern loadet swf, dvs. sådan at filmens preloader ikke kan "se" den. Grunden til at jeg har lagt den i filmen er netop at den skal starte i det øjeblik preloaderen er slut og filmen begynder.
Joh, men så får du jo preloaderen til at tjekke, om filmen med lyden er indlæst, før du afspiller din hovedfilm.
Du kan fx i første frame i din lyd-swf lave et tomt movielip, som du laver denne action på: onClipEvent (load) { with (_level0._root) { musikChecker = "true"; } }
Og så får du bare din preloader til at tjekke, om variablen musikChecker er lig med true, før den afspiller filmen.
OBS: I Flash MX kan man forøvrigt definere, i hvilken frame flash skal loade lyden. Så kan man altså putte lyden ind i hovedfilmen og definere, at den først hentes efter preloaderen. Det er jo meget nemmere, men det virker desværre kun, hvis filmen publiceres som flash 6.
Hej brianus >>> Hvordan definerer man lydens placering i MX? Jeg kender godt de tutorials der er på flashkit. Jeg har været lidt modvillig mod at lægge lyden eksternt pga. at preloaderen rent faktisk skal vise den procent der er at loade. Men jeg kan godt se din pointe. Eneste (lidt fuskede) udvej er som hoejrup skriver, at lægge den ud et "diskret" sted i maintimeline. Nå, men jeg prøver lige at se om jeg kan ordne det eksternt først!
>>> brianus, du lyder som om du er erfaren og grundig i flash - og kender detaljerne omkring f.eks. preloading. Kan du hjælpe mig med en lidt kompliceret een af slagsen?
Du skriver: Jeg har været lidt modvillig mod at lægge lyden eksternt pga. at preloaderen rent faktisk skal vise den procent der er at loade Svar: Hvis du følger tutorialen, så kender du bytesLoaded og totalBytes i både _level0 og _level1. Så skal du jo bare have din preloader til at lægge værdierne sammen, dividere dem og gange dem med 100. Så har du procenten samlet set.
I den frame, hvor lyden skal starte, placerer du bare din action: _level1.mySound = new Sound(); _level1.mySound.attachSound("loop1"); _level1.mySound.start("", 999);
Hvis du skal stoppe lyden bruger du bare (evt. på en knap): _level1.mySound.stop();
Hm, så prøv at kode det ved at sende din lyd-swf frem til en frame, der har følgende kode:
musik = new Sound(_level1); musik.attachSound( "loop1" ); musik.start( 0, 999 ); musik.setVolume(100); stop();
/Brian
PS: Jeg går ud fra, at scene 1 og 2 er noget, du har i din hovedfilm, og så tror jeg ikke, det har indflydelse på, hvordan du starter lyd i en ekstern swf.
Jeg ved ikke, hvad forskellen er. Det virker lidt ulogisk, at man ikke skal bruge _level1.mysound.
Men det ser ud til, at hvis man ikke angiver noget i parantesen i new Sound(), så kan man styre alle lydene i hele filmen. Det må jo sige, at man kan skrue op og ned for alle lyde på en gang - interessant. Det vil jeg prøve at eksperimentere med en dag.
/Brian
Synes godt om
Ny brugerNybegynder
Din løsning...
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.