+ Antworten
Ergebnis 1 bis 9 von 9

Thema: flash fotoalbum preload

  1. #1
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28

    flash fotoalbum preload

    hallo
    ich habe eine fotogalerie in flash erstellt. durch einen button "weiter" kann man sich durch die fotos klicken wie eine diashow. leider dauert es manchmal eine ganze weile, bis das nächste bild erscheint. ich möchte nun, dass im hintergrund sämtliche bilder bereits vorgeladen werden. habe in der flash-hilfe oder unter "preload" nichts gefunden, das mir weiterhilft.

    mein flash dokument (swf) besteht aus einem bild. die fotos (jpgs) befinden sich in einem externen ordner und werden vom swf über actionscript aufgerufen. wie kann ich also nun die jpgs vorladen? geht das überhaupt?
    danke

  2. #2
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    Ja, das geht.
    Die Frage ist hast du die Fla noch und wieviel Ahnung hast du von AS.

    Das Script könnte so in der Art aussehen.
    PHP-Code:
    var bildNamen "bild_";
    var 
    bildAnzahl 5;
    var 
    zaehler 0;
    function 
    ladeBild() {
        if (
    zaehler<bildAnzahl) {
            var 
    obj _root.createEmptyMovieClip("bild_con_"+zaehler);
            
    obj.loadMovie(bildNamen+zaehler+".jpg");
            
    obj._x obj._y=-100000;
            
    this.onEnterFrame = function() {
                
    gesamt obj.getBytesTotal();
                
    geladen obj.getBytesLoaded();
                
    prozent geladen*100/gesamt;
                if (
    geladen == gesamt && geladen>4) {
                    
    ladeBild();
                }
            };
        }
    }
    ladeBild(); 
    Natürlich muss das Script verfeinert werden und du musst andere Stellen deines Scriptes dementsprechend erweitern.
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  3. #3
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28
    hallo und danke für die antwort.
    habe nicht sehr grosse ahnung von AS. verstehe meistens in etwa was gemeint ist, wenn ich es vor mir habe.

    ich schick dir mal mein fla.

    und hier ist der link zur seite. an meinem compi kommen die bilder manchmal sofort und dann wiederum erst nach ca. 30 sek.
    Geändert von katee (02.11.2009 um 17:11 Uhr)

  4. #4
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28
    also vielleicht zur klarheit:
    mein ziel wäre einfach, das ganze fliessender zu machen. also während der betrachter bei einem bild länger verweilt, dass derweil die nächsten bilder schon vorgeladen werden und dadurch schneller erscheinen wenn sie angeklickt werden.

  5. #5
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28
    weiss das niemand? Ist wohl einfach nicht möglich, jpgs aus einem externen file vorauszuladen, oder was?

  6. #6
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    Sicher ist das Möglich und einen Ansatz habe ich dir schon gegeben.
    Da werden die Bilder schon nach und nach geladen und abgelegt, du kannst auch die MCs wieder löschen. Die geladenen Bilder liegen dann im Cache und werden dadurch bei Bedarf aus dem Cache geladen, was wesentlich schneller dann von statten geht.
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  7. #7
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28
    ja, hm. sorry, aber habe eben noch mühe alles zu verstehen.
    - also erstens, würd ich den code in ein bild in meinem flash schreiben, oder?
    - dann wäre der name meiner bilder:
    var bildNamen = "../tnm_images/p"+whichPic+".jpg"
    oder nur: var bildNamen = "../tnm_images/p" oder was?

    - dann versteh ich "zaehler" nicht. Ist das ein Zähler-Balken, den ich erstellen müsste, oder was. kann ich dem auch weglassen?

    - versteh ich das richtig, dass zuerst alle bilder geladen werden, bevor das erste erscheint?

    danke und liebgruss

  8. #8
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    Hallo,

    ich gebe dir hier nochmal eine Steilvorlage und ich war mal so frei und habe deinen Code um ca. 200 Zeilen gekürzt
    Das Dingen sollte wie gehabt sofort anfangen zu laufen und lädt im Hintergrund alle Bilder nach. Man kann es alles noch verfeinern, aber dafür fehlen dir die Kenntnisse und mir die Zeit dir alles anzupassen.
    PHP-Code:
    //initialize variables and properties
    square._alpha 0;
    whichPic 1;

    var 
    bildNamen "../tnm_images/p";
    var 
    bildAnzahl 97;
    var 
    zaehler 2;
    function 
    ladeBild() {
        if (
    zaehler<bildAnzahl) {
            var 
    obj _root.createEmptyMovieClip("bild_con_"+zaehler,zaehler +200);
            
    obj.loadMovie(bildNamen+zaehler+".jpg");
            
    obj._x obj._y=-100000;
            
    b1.obj obj;
            
    b1.onEnterFrame = function() {
                
    gesamt this.obj.getBytesTotal();
                
    geladen this.obj.getBytesLoaded();
                
    prozent geladen*100/gesamt;
                if (
    geladen == gesamt && geladen>4) {
                    
    removeMovieClip(this.obj);
                    
    ladeBild();
                }
            };
        } else {
            
    delete b1.onEnterFrame;
        }
    }
    ladeBild();


    //initiate change to new image when buttons are clicked
    next.onPress = function() {
        if (
    whichPic<96 && !fadeIn && !fadeOut) {
            
    fadeOut true;
            
    whichpic++;
            
    input whichPic;
        }
    };
    back.onPress = function() {
        if (
    whichPic>&& !fadeIn && !fadeOut) {
            
    fadeOut true;
            
    whichpic--;
            
    input whichPic;
        }
    };
    for (var 
    1i<97i++) {
        var 
    btnObj this["b"+i];
        
    btnObj.pNr i;
        
    btnObj.onPress = function() {
            
    fadeOut true;
            
    whichpic;
            
    fadeOut true;
            
    input whichPic=this.pNr;
        };
    }
    _root.onEnterFrame = function() {
        
    // when a new Photo is selected, fade out, load new image, and fade in
        
    if (square._alpha>10 && fadeOut) {
            
    square._alpha -= 10;
        }
        if (
    square._alpha<10) {
            
    loadMovie("../tnm_images/p"+whichPic+".jpg""square");
            
    fadeOut false;
            
    fadeIn true;
        }
        if (
    square._alpha<100 && fadeIn && !fadeOut) {
            
    square._alpha += 10;
        } else {
            
    fadeIn false;
        }
        
    // limit input field
        
    if (input>95) {
            
    input 1;
        }
        
    // initiate change to new image when Enter key is pressed    
        
    if (Key.isDown(Key.ENTER)) {
            
    fadeOut true;
            
    whichpic input;
        }
    };
    // if a number is entered in the input field but Enter is not pressed, change 
    // back to current Photo number when clicking anywhere else
    inputField.onKillFocus = function() {
        
    input whichPic;
    }; 
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  9. #9
    TP-Junior katee macht alles soweit korrekt
    Registriert seit
    May 2006
    Ort
    ch
    Beiträge
    28
    vielen dank!
    funktioniert auch schon. wird wohl noch etwas dauern, bis ich alles verstanden habe und an den feinheiten schaffen kann.
    danke und gruss

+ Antworten

Ähnliche Themen

  1. preload für mehrere swf
    Von katee im Forum Flash & Multimedia
    Antworten: 3
    Letzter Beitrag: 11.07.2006, 18:57
  2. Preload-Hilfe...
    Von dani e im Forum Flash & Multimedia
    Antworten: 7
    Letzter Beitrag: 14.02.2006, 19:34
  3. preload der homepagedaten
    Von ripper02 im Forum Flash & Multimedia
    Antworten: 9
    Letzter Beitrag: 29.04.2005, 13:57
  4. preload
    Von blindfisk im Forum Webdesign allgemein
    Antworten: 5
    Letzter Beitrag: 09.11.2003, 14:16
  5. Preload externe SWF
    Von DeMarcus im Forum Flash & Multimedia
    Antworten: 7
    Letzter Beitrag: 01.12.2002, 16:09

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51