jeg kan ikke lige finde "fade in" er det i MX 2004 man kan det?
men her er det script jeg bruger til at importere musikken:
var mainTimeline = this; /* * Method: Sound.checkLoadProgress() * Desc: Checks progress of a load(). * Called only by preload(). Reports download progress * by invoking a custom Sound.onBytesLoaded() handler. */ Sound.prototype.checkLoadProgress = function () { // Check how many kilobytes have loaded. var kbLoaded = Math.floor(this.getBytesLoaded()/1024); // Check the size of the file loading, in kilobytes. var kbTotal = Math.floor(this.getBytesTotal()/1024); // Calculate the percent complete. var percentDone = isNaN(Math.floor(kbLoaded/kbTotal * 100)) ? 0 : Math.floor(kbLoaded/kbTotal * 100); // Execute the onBytesLoaded() callback, which // typically would display load progress. this.onBytesLoaded(this.getBytesLoaded(), this.getBytesTotal(), kbLoaded, kbTotal, percentDone); }
/* * Method: Sound.clearLoadCheck() * Desc: Cancels an interval calling checkLoadProgress(). */ Sound.prototype.clearLoadCheck = function () { // If there is a load interval for this Sound object... if (this.loaderID) { // ...stop calling it. clearInterval(this.loaderID); } }
/* * Method: Sound.preloadSound() * Desc: Begins the download of a sound file and executes * checkLoadProgress() every 200ms until the file has loaded. * Parameters are the same as Sound.loadSound(). */ Sound.prototype.preloadSound = function (url, isStreaming) { // Always stop any previous preload before proceeding. this.clearLoadCheck();
// Load the Sound file. this.loadSound(url, isStreaming); }
// ================= // Usage // ================= // Create a sound object. lyd = new Sound();
// Assign an onLoad() callback. lyd.onLoad = function (success) { // Cancel the preload interval (REQUIRED!). this.clearLoadCheck();
// If the load was successful... if (success) { // ...use the new Sound. For example, if the loaded // sound is an event sound, we can start it like this: // this.start(); mainTimeline.loadMsg_txt.text = "100 % loaded..."; _parent.gotoAndStop(2); _parent.playing=true; _parent.pladeRiller_mc.play(); _root.minimenu_mc.eq_mc.gotoAndPlay(1); } else { // ...otherwise, perform failure operations. mainTimeline.loadMsg_txt.text = "Load failed."; } }
// Assign an onBytesLoaded() callback. This is where each // individual Sound object can decide what to do // with the preload information. lyd.onBytesLoaded = function (bytesLoaded, bytesTotal, kbLoaded, kbTotal, percentLoaded) { mainTimeline.loadMsg_txt.text = percentLoaded + " % loaded..."; }
du kan lave et fadein sådan her: // fadein onClipEvent (load) { i = 0; _root.loop1 = new Sound(); _root.loop1.attachSound("loop1"); _root.loop1.setVolume(0); _root.loop1.start(0, 999); } onClipEvent (enterFrame) { if (i<=25) { _root.loop1.setVolume(i++); } }
mest fordi jeg troede det var for besværligt at lave en fadein i det script jeg havde pastet ind siden der ikke var nogen der havde svaret på det første spg. Så ville jeg lige finde ud af, hvordan man laver et fadein script som ikke nødvendigvis, havde med det kæmpe lange preloade script at gøre. Det var ikke for at komme foran i køen igen, hvis det var det du troede =)
Det sker også at jeg laver et spørgsmål, der er skrevet lidt for kryptisk til at folk er helt sikre på hvad jeg mener. I sådanne tilfælde lukker jeg også mit gamle spg. og laver et nyt, der er lidt mere forståeligt.
ahh fadein kan man jo kun sætte på hvis man smider lyden ind i en frame, hvor jeg nu syntes det er lidt federe at ha lyden liggende i Library. Altså den måde jeg ellers ville hente en lyd ind ville være import til Library, derefter linkage->action script.
kan man ikke smide den her kode i roden af flash filen i en keyframe? jeg kan ikke lige få det til at virke,...
if (i<=25) { _root.loop1.setVolume(i++); } hvis man ikke kan placere scriptet som sådanne i en keyframe, hvordan kan man så aktivere det i en keyframe, hvilken function skal man bruge?
alternativt kan du jo (det gør jeg ofte selv med små-lyde) smide lyden en en frame (sætte properties som du vil have dem)i en ellers tom .swf og hente den (swuffen) ind dynamisk i din main-movie. så kan du scripte alt det du vil i lib. og stadig have "hands-on" op grund-lyden.
hmm skørt,.. jeg har lavet en fil med det script asgrone skrev. Den fil virker også fint hvis jeg tester den,.. men hvis jeg henter den ind fra en anden .swf kommer der ikke noget lyd? mega underligt og jeg har skiftet alle _root ud med _parent.
uhm det virker fint med new Sound(this); hvad er det lige præcis "this" gør i denne sammenhæng? jeg har åbenbart aldrig rigtig fattet at bruge "this".
en anden ting,.. når jeg henter lyd.swf ind i en anden .swf kan jeg ikke lige få lov at styre volumen? jeg henter lyd.swf ind sådanne her: loadMovie ("flash/lyd.swf", musik_mc); og lyd.swf: // fadein onClipEvent (load) { i = 0; lyd = new Sound(this); lyd.attachSound("lyd"); lyd.setVolume(0); lyd.start(0, 999);
} onClipEvent (enterFrame) { if (i<=100) { lyd.setVolume(i++); } } hvorfor kan jeg ikke styre setVolume med: musik_mc.lyd.setVolume(0); eller stop sound eller noget?
eller hvad gør jeg forkert, man kan selvfølgelig styre lyden
hmm jeg syntes ikke rigtig jeg kan få lov til at røre ved den lyd... her er hele scriptet for hoved .swf´en: this.createEmptyMovieClip("musik_mc", 29);
og her er scriptet på det mc i lyd .swf´en: // fadein onClipEvent (load) { i = 0; lyd = new Sound(this); lyd.attachSound("lyd"); lyd.setVolume(0); lyd.start(0, 999);
} onClipEvent (enterFrame) { if (i<=100) { lyd.setVolume(i++); } }
jeg kan ikke lige sådan uden viddere få det til at virke,..
Er der ikke en måde hvorpå man kan undgå at placere de scripts på et mc og derved spare et ekstra led?
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.