Avatar billede rnomis Nybegynder
18. januar 2005 - 15:11 Der er 11 kommentarer og
1 løsning

Hvordan preloader jeg 2 SWF filer samtidig?

Jeg har lavet en intro i flash og et site i flash, som ligger i hver deres html. Jeg bliver nødt til at dele dem op pga en iframe i selve site html'en. Jeg ville meget gerne kunne preloade begge swf samtidig, altså fra intro swf'en.

Jeg har en preloader som ser sådan ud:

_root.load_mc.onEnterFrame = function() {
    loading = _root.getBytesLoaded();
    total = _root.getBytesTotal();
    _root.percent = int((loading/total)*100);
    _root.percentage = percent+"%";
    _root.load_mc.loadbar._width = percent;
    if (percent>99) {
        gotoAndPlay("Scene 2", 1);

    }
};

Er der nogen som kan hjælpe med det!
Avatar billede _k Nybegynder
18. januar 2005 - 20:32 #1
Øhhm, hvis begge swf'er ligger på samme side (selvom den ene er i en iframe), så loader de vel samtidig?
Men hvis du gerne vil starte dem samtidig, altså hvis du vil lade den ene swf vente på at den anden er loadet ind, så kan to swf'er tale sammen via local connection. Det er dog med det forbehold, at jeg personligt aldrig har prøvet casen hvor den ene ligger i en iframe.
Hvis du vil kigge lidt på local connections, så kig på: http://www.actionscript.org/tutorials/intermediate/LocalConnections/index.shtml

...dur det ikke, er vi vist ude i en løsning, hvor du behøver en dedikeret server (f.eks. Communication Server) du kan spille bold op af, men så bliver det hurtigt rimelig langhåret og pebret i prisen....
Avatar billede rnomis Nybegynder
18. januar 2005 - 23:24 #2
How jeg har vidst sagt lidt mærkeligt hvordan det virker, men prøver igen. Jeg har en intro flash/swf fil som ligger i index.htm, den når på et tidspunkt et movieclip med en clipevent som åbner mit SWFsite i website.htm. På mit site ligger der en iframe ovenpå min SWF fil og de to snakker sammen! Så der er en intro SWf i index.htm og en website SWF i en website.htm. Både intro og website SWF filen ville jeg gerne kunne loade samtidig, så man ikke skal vente 2 gange. Jeg kan ikke lægge de 2 SWF'er i samme fil fordi iframen som ligger ovenpå i website.htm så vil ligge ovenpå introen også, og det holder bare ikke!
Jeg har læst linket med local connections og enten forstår jeg det ikke eller også er det ikke rigtig noget jeg kan bruge.
Blir det lidt for langhåret med en preloader her eller hvad skal jeg gøre?
Avatar billede _k Nybegynder
19. januar 2005 - 10:39 #3
Ok, det er stadigvæk halvtidligt på morgenen, men jeg fatter hat. Din opsætning virker ekstrem kompleks, hvilket for så vidt er ok. Men før du kaster dig ud i at designe denne løsning, bør du nok teste om du virkelig KAN have en iframe ovenpå en swf. Kan du, bør du nok lave en guide til hvordan man gør her i Flash-kategorien - især hvis det rent faktisk virker i andre browsere end lige IE. Det er nemlig et spørgsmål der jævnligt er oppe at vende.

Tilbage til dit spørgsmål, som jeg lige stiller et modspørgsmål. Kan du ikke bare kyle en preloader på alle swf'er? Eller er problemet, at den enkelte side først kaldes EFTER en swf har loadet færdigt?
Avatar billede rnomis Nybegynder
19. januar 2005 - 13:22 #4
Først så ja jeg har fået iframen til at ligge ovenpå swf'en. Den css som er tilknyttet fungere dog ikke med safari og mozilla, men de kan godt snakke sammen!

Jeg kunne godt sætte en preloader på hver af swferne, men ville helst have loadet det hele på forhånd, så man ikke skal vente efter introen!

Kan du stadig hjælpe?
Avatar billede _k Nybegynder
19. januar 2005 - 13:50 #5
Ok, synd for os der bruger Firefox, men cool at du kan få det til at virke :o)

Det du vil have, er altså at du henter 2 swf'er før deres hjemmeside bliver hentet? Du vil altså preloade nogle filer før de eksisterer på hjemmesiden?

Hvis det er det du er ude i, siger det sig selv at det ikke kan lade sig gøre... og dog, for med et lille hack går det nok alligevel.
Hvis du laver html-koden for de 2 swf'er samme sted som i din intro, men sætter deres højde og bredde til 0 (og husker at slukke for lyden hvis der er nogen), vil de loade i baggrunden uden at brugeren kan se det. Hvis du så krydser fingre for at brugeren først er færdig med din intro når de 2 swf'er er færdigloadede, vil de være cachede og bliver vist med det samme når de hentes i deres "rigtige" udgave.
Avatar billede rnomis Nybegynder
19. januar 2005 - 22:12 #6
Nåå ja det var sgu da en good ide med at lave den 0x0!

næste ting er så jeg skal rette i scriptet til den musik player som ligge i swf nr 2, så den ikke går igang med at spille midt under intro swfen!! Men det er jo noget som kan klares næste gang jeg har lidt tid tilovers!

Fedt tak for hjælpen!
Avatar billede _k Nybegynder
20. januar 2005 - 08:06 #7
Lyder godt at du kan bruge den løsning. Mht. at stoppe din player, kan du sætte en variabel i embedkoden på den html-side hvor den skal spille - og ingen på den side hvor den ikke skal spille. Så laver du en simpel if-sætning der tjekker om variablen eksistere og om der derfor skal afspilles lyd.

Hnevisningen i embedkoden hedder noget med ..... <EMBED src="whatever.swf?minVar=true".....

I Flash kan du så tilgå variablen "minVar" fra _root.
Avatar billede rnomis Nybegynder
20. januar 2005 - 09:09 #8
Fedt tak det prøver jeg!

Og tak for hjælpen!
Avatar billede _k Nybegynder
20. januar 2005 - 09:11 #9
Takker for point.
Avatar billede nikolajdu Nybegynder
20. januar 2005 - 12:12 #10
src="whatever.swf?minVar=true".....

Gør jo netop at hver gang 'minVar' ændres så skal filen hentes på ny igen - Brug  <EMBED src="whatever.swf" FlashVars="minVar=true".....

Så kan den samme fil genbruges.
Avatar billede _k Nybegynder
20. januar 2005 - 13:31 #11
Tsk, tsk, Næguu, læs spørgsmålet ordentligt ;o)

....ellers har du en meget fin pointe.
Avatar billede nikolajdu Nybegynder
20. januar 2005 - 14:24 #12
Jeg har læst spørgsmålet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester