Avatar billede nexion Nybegynder
13. marts 2004 - 16:55 Der er 5 kommentarer

Galleri, hvordan?

Hvordan laver jeg et fotogalleri i Flash med thumbnails og gerne en preloader ved klik på thumbnails. Skal være eksterne billeder selvfølgelig.

Har ikke kunne finde nogle guides eller andet nogle steder indtil videre.

Er rookie :)

På forhånd tak
Avatar billede pyroman Nybegynder
13. marts 2004 - 17:18 #1
Hvis dine thumbnail billeder hedder fx: "thumb1.jpg", "thumb2.jpg" osv
og dine store billeder hedder fx: "big1.jpg", "big2.jpg" osv

Så kan du starte med at hente alle thumbnails ind i en løkke.
Når man henter flere billeder ind på én gang skal man være opmærksom på at flash ikke er så god til at finde ud af hvormeget de fylder - den gør det ikke hurtigt nok...

man kan bruge en funktion lignende denne:

function loadThumbs (num){
  if(this.thumbViewer) thumbViewer.removeMovieClip();
  this.createEmptyMovieClip("thumbViewer", 1);
  thumbViewer._visible = false;
  for(i=1;i<=num;i++){
    thumbViewer.createEmptyMovieClip("img"+i, i);
    thumbViewer["img"+i].loadMovie("thumb"+i+".jpg");
  }
  thumbViewer.onEnterFrame = function(){
    gotTotal = true;
    loadedBytes = totalBytes = 0;
    for(i=1;i<=num;i++){
      loadedBytes += this["img"+i].getBytesLoaded();
      totalBytes += this["img"+i].getBytesTotal();
      if(this["img"+i].getBytesTotal() < 1) gotTotal = false;
    }
    if(loadedBytes == totalBytes && gotTotal){
      for(i=1;i<=num;i++){
        this["img"+i]._x = this["img"+(i-1)]._width+this["img"+(i-1)]._x+5;
        this["img"+i].onRelease = showImg(i);
      }
      this._visible = true;
      delete this.onEnterFrame;
    }
  }
}

Nu er alle thumbnailsne hentet ind - så mangler vi bare den funktion der viser det store billed... Til det skal der lige laves movieclip, hvori billedet skal hentes - fx med navnet "big".

function showImg(num){
  big.loadMovie("big"+num);
  big.onEnterFrame = function(){
    loadedBytes = this.getBytesLoaded();
    totalBytes = this.getBytesTotal();
    percent = Math.floor(loadedBytes/totalBytes*100);
    if(loadedBytes == totalBytes && totalBytes > 0){
      delete this.onEnterFrame;
    }
  }
}

Værsgo! :)
Avatar billede bartfreak Nybegynder
13. marts 2004 - 19:55 #2
ellers kan man bruge anfy..?
http://www.freewarejava.com/applets/ad.shtml
Avatar billede pyroman Nybegynder
13. marts 2004 - 23:36 #3
...men når der står "fotogalleri i Flash" - så er det nok ikke java-applets han vil have ;)
Avatar billede bartfreak Nybegynder
13. marts 2004 - 23:41 #4
måske ikke, men det er nemt..?
Avatar billede wilweb Nybegynder
17. marts 2004 - 21:54 #5
pyroman:>  hvor lægger man function loadThumbs (num)? og function showImg(num) ?
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

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