Avatar billede rosenberg Nybegynder
26. september 2005 - 12:53 Der er 20 kommentarer og
1 løsning

Hvilken metode skal man benytte i en Prelaoder

HejsA

Jeg har kigget rundt på nettet for at finde den bedste og mest rigtige måde at lave en preloader på.... Men syntes kun det gør mig mere forvirret...

Hvilken måde er den bedste hvis jeg blot vil have en bar som loader....
Preloaderen skal kunne "puttes" ind i forskellige swf'er...

Nogle der kan anbefale nogle bestemte metoder?

/rosenberg
Avatar billede _k Nybegynder
26. september 2005 - 14:04 #1
Jeg kan ret godt li' den her. http://www.ultrashock.org/tutorials/flashmx2004/ui-components10.php

...men hvis du vil lave din egen load-grafik, skal du gøre det på en anden måde - giv lyd ;)
Avatar billede rosenberg Nybegynder
26. september 2005 - 14:09 #2
Jeg vil gerne kunne lave min egen grafik selvfølgelig... ;)

LYYYD!
Avatar billede _k Nybegynder
26. september 2005 - 15:49 #3
Så kan du smide din grafiske preloader ind på frame 1 som så også skal have en stop-action. På f.eks. frame 5 kan din film så starte.
Du kan vælge at tjekke på enten hvor mange bytes eller frames der er loaded lige nu. Frames kommer til sin ret, hvis det er en decideret tegnefilm du preloader, men som regel kan man lave pænere preloadere hvis man kigger på bytes (den kommer ikke til at hakke så meget).

Dit scrip kan f.eks. se sådan her ud:

this.onEnterFrame = function() {
  if(this.getBytesLoaded() < this.getBytesTotal()) {
    // alt er endnu ikke hentet
  }
  else {
    gotoAndPlay(5);
    delete this.onEnterFrame;
  }
}

..det er sådan set det. Vil du have nogle fancy funktioner på den, eller er det nok til at skyde dig igang?
Avatar billede rosenberg Nybegynder
26. september 2005 - 16:25 #4
Det kunne da være super fedt hvis du gad vise mig hvordan jeg fx kan få 0->100%
i et dyntxt felt...

Hvis jeg nu laver et dyntxt felt som har instance name "proc" og laver et %-tegn efter txt feltet...

/rosenberg
Avatar billede bentjuul Nybegynder
26. september 2005 - 16:46 #5
Jeg plejer at bruge denne der er meget nem at ændre både i udssende og i forhold til hvad man vil vise www.bsjh.dk/prover/preloader.fla

//bentjuul
Avatar billede _k Nybegynder
27. september 2005 - 09:18 #6
Ok, så skal det se nogenlunde sådan her ud:

var procent:Number = 0;
this.onEnterFrame = function() {
  if(this.getBytesLoaded() < this.getBytesTotal()) {
    procent = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
    proc.text = procent + "%";
  }
  else {
    gotoAndStop(5);
    delete this.onEnterFrame;
  }
}
Avatar billede le_bon Nybegynder
27. september 2005 - 11:23 #7
en lille rettelse til k's kode:

proc.text = procent + "%";

skal hedde

proc = procent + "%";

c",)
Avatar billede _k Nybegynder
27. september 2005 - 13:22 #8
Nope, jeg er nemlig moderne nok til at benytte tekstfeltets instansnavn i stedet for dets var-felt (som er et v. 4.0 efterladenskab). Ovenstående er jo placeret i en onEnterFrame og bliver derfor kontinuerlig opdateret ;o)
Avatar billede le_bon Nybegynder
27. september 2005 - 13:41 #9
Ahhh shit....her troede jeg lige jeg var så skide klog!

c",)
Avatar billede rosenberg Nybegynder
28. september 2005 - 22:28 #10
;) tester i morgen ....
Avatar billede rosenberg Nybegynder
30. september 2005 - 11:02 #11
Hvis jeg nu fx senere vil give lave en preloader på nogle andre SWF'er så kan jeg blot give scriptet et instance navn at hæfte sig til ik ?
Avatar billede _k Nybegynder
30. september 2005 - 13:32 #12
Hvilket instance-navn? Hvis du mener tekstfeltets navn, så skal du ændre til det det hedder i din nye swf. Ellers smider vi jo ikke rundt med nogen instansnavne, og du bør derfor kunne bruge scriptet overalt (bagpå din tantes bagagebærer, vil det dog nok være lidt malplaceret ;o)
Avatar billede rosenberg Nybegynder
30. september 2005 - 14:56 #13
oki :D... Den virker fint.... men så kommer spørgsmålet til 100point ...
Hvis jeg nu gerne vil have at min animation (loader) skal være færdig inden den skifter eller omvent at den først er færdig når jeg loader...

kan du hjælpe med det ?
Avatar billede rosenberg Nybegynder
30. september 2005 - 14:58 #14
Altså har et MC som indeholder en tween på 100 frames.
Den Skal Køre mens der preloades...

Men Jeg vil se alle 100 frames uanset om loadningen er hurtigere eller langsomere...

Kan det lade sig gøre ?
Avatar billede _k Nybegynder
30. september 2005 - 20:15 #15
Du kan vente med at sætte den egentlige preload igang indtil sidst i din preloader. Det sjove er bare, at du så faktisk bør preloade din preloader (og det er der faktisk nogen som gør ;o)

Hvis du smider din preloadanimation ind sidst i et mc, kan du på sidste frame give lyd fra dig. Måske noget i retning af:
_parent.preloadAni_done = true;

...og så rette preloaderen lidt til:

var preloadAni_done:Boolean = false;
var procent:Number = 0;
this.onEnterFrame = function() {
  if(this.getBytesLoaded() < this.getBytesTotal()) {
    procent = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
    proc.text = procent + "%";
  }
  else {
    if(preloadAni_done == true) {
      gotoAndStop(5);
      delete this.onEnterFrame;
  }
  }
}


I den nederste if-sætning, kan du så gentage opdateringen af procenten, hvis det er nødvendigt.....
Avatar billede rosenberg Nybegynder
21. oktober 2005 - 12:41 #16
Jeg tror lige jeg skal have det hele på plads... :

Altså min animation det vil sige min load bar skal ligge sidst i et mc.... Hvad skal dette mc indeholde ?

Jeg smider

var preloadAni_done:Boolean = false;
var procent:Number = 0;
this.onEnterFrame = function() {
  if(this.getBytesLoaded() < this.getBytesTotal()) {
    procent = Math.round((this.getBytesLoaded()/this.getBytesTotal())*100);
    proc.text = procent + "%";
  }
  else {
    if(preloadAni_done == true) {
      gotoAndStop(5);
      delete this.onEnterFrame;
  }
  }
}

i første frame... Hvor min preloader ligger i et mc... !?
Avatar billede _k Nybegynder
23. oktober 2005 - 15:08 #17
Korrekt at preloadscriptet skal ligge på første frame. På denne frame har du også et mc indeholdende din animation. Hvis den ikke fylder alverden kan du godt sætte den til at spille med det samme. I slutningen af din animation, som jo så ligger inde i mc'et, placerer du så "_parent.preloadAni_done = true" - gerne på en frame for sig selv.
På den led holder din preloader øje med om animationen er færdig OG om hele din film er hentet.
Avatar billede rosenberg Nybegynder
23. oktober 2005 - 18:37 #18
oki ;)
Avatar billede _k Nybegynder
23. oktober 2005 - 19:08 #19
Smider et svar i fald jeg bliver dømt værdig :)
Avatar billede rosenberg Nybegynder
24. oktober 2005 - 10:56 #20
Du er dømt værdig ;)
Avatar billede _k Nybegynder
24. oktober 2005 - 11:05 #21
Så siger jeg mange tak for pointen. Håber du får det til at fungere perfekt!
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