14. maj 2002 - 13:16Der er
23 kommentarer og 1 løsning
preloader til ekstern .swf
Ja, overskriften siger sig selv.
Hvordan ser en preloader til en ekstern loadet .swf ud? Kan man overhovedet det? (Den skal helst vise procent loadet)
Min film kommer til frame 55, og først der loades der 5 eksterne .swf-filer. Det ville så være ideelt med en preloader som fortæller, at de er ved at blive loadet (og procent loadet).
Du laver 2 scener i den film som du loader i frame 55, Scene 1 lægger du din preloader i og så skriver du i koden i din preloader gotoAndPlay("scene2","");... scene2 lægger du din film i somskal preloades så virker det.....
Den film du loader i frame 55 lave en ekstra scene i som du kalder preloader, den scene hvor din orginale film er i kalder du main.
scene "preloader" lægger du det her kode ind i. --------------------preloader---------------- total_bytes = getBytesTotal(); loaded_bytes = getBytesLoaded(); remaining_bytes = total_bytes-loaded_bytes; percent_done = int((loaded_bytes/total_bytes)*100); ifFrameLoaded ("main", Antal frames i main movie) { gotoAndPlay("main", 1); } I næste keyframe i scene "prelaoder" skriver du gotoAndPlay(1); Så skulle det være i orden. Gå nu tilbage til keyframe 1 i scene "preloader". der laver du 4 dynamiske tekstfelter, og kalder dem total_bytes, loaded_bytes, remaining_bytes og den sidste kalder du percent_done.
basicq-> jeg er ikke så interresseret i at der skal ligge kode i de eksterne swf's, da de genereres med php/Swift-generator/ming, men tak for kommentaren.
Post jeres svar: Points til basicq, mat og legende.dk. Pissegodt link, mat! ((-:
Ja, jeg kan da også godt se (efter et nærmere kig) at dit script er stort set det samme. Det skal bare sidde på et MC. Hvordan placerer den loadede swf sig iøvrigt i det tomme MC?
Du loader (så vidt jeg kan forstår det) filerne ind i forskellige levels. Mine filer er blot billeder, som derfor ikke behøver en stop() eller play(). Men hvordan kalder jeg så filerne ind i de relevante MC'er? De skal ind i hver sit MC.
Det er vel nærmest det omvendte af "roden rundt", fordi - netop som du skriver - det er et dynamisk system hvor man kan uploade nye billeder. Det er faktisk ganske enkelt, men så igen... det virker jo ikke endnu (ihvertfald preloaderen). Og det SKAL være Flash 5.
Det kan jeg ikke få til at virke?! (Har prøvet næsten alt) Der ligger et andet stykke grafik i "movieclipnavn" - og det er tilsyneladende det og kun det som læses af getBytesLoaded()+Total(). Preloaderen siger 100% før de eksterne er loadet.
Prøv det. Jeg har på fornemmelsen at du skyder forbi. Jeg kiggede lige på det script der var link til højere oppe. Og det er jo glimrende til dit ønske. Der står hele koden i _root tidslinien, og kaldene er derfor direkte til navnene på movieclips'ne. Jeg kan godt lide mc-scripts, og foreslog derfor et script på et movieclip. Hvis du blot ændrer mit en smule er det glimrende...
onClipEvent(load) { _root.stop(); loadMovieNum("film2.swf", _root.target1); loadMovieNum("film3.swf", _root.target2); //...og så videre... Dine movieclips skal så hedde target1 osv (i hovedfilmen) starttid=getTimer(); } onClipEvent(enterFrame) { to_Be_loaded=_root.target1.getBytesTotal()+_root.target2.getBytesTotal()...osv; loaded_so_far=_root.target1.getBytesLoaded()+_root.target2.getBytesLoaded()...osv; _root.procent=int((loaded_so_far/to_be_loaded)*100)+" % loaded"; _root.speed=(loaded_so_far/1024)/((getTimer()-starttid)/1000); _root.time_left=int(((to_be_loaded-loaded_so_far)/1024)/_root.speed)+" seconds left";
if(to_be_loaded<=loaded_so_far) { _root.target1.play(); //filmene er læst ind og startes _root.target2.play(); //...osv .. } }
Du skal huske at lave en tom frame i starten af de nye film, hvor der står stop(); så filmen venter med at køre til alle filmene er læst ind. Ideen her er jo at jeg samler alle filstørrelserne i en og regner på den.
Lav et tomt movieclip (eller bare tegn en lille firkant i). Træk dette mc ind i hovedfilmen (evt. udenfor scenen) i den KEYframe hvor filmene skal loades og giv ovenstående actionscript.
Du får så i roden af filmen (hovedtidslinien) variablerne procent, speed og time_left Dem kan du skrive i dynamiske tekstfelter (stadig i roden)
Ha ha ha....... fed demo!! Der fik jeg salsa for fuld styrke (sad med hørebøffer på)!!! Jeg arbejder desværre først videre med det lørdag... Men mange tak. Du får lige dine points.
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.