tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
16
ZUGRIFFE
732
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    Hi,

    ich habe folgendes Problem:
    ich habe einen Preloader gebaut und will eine externe SWF vorladen.
    Das Problem ist das mir der Preloader nicht angezeigt wird. Nehme ich die Scrollpane aus der externen SWF raus es wieder. Kann mir jemand helfen?!

    Hier der CODE
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    if (_framesloaded>=_totalframes) {
        gotoAndPlay(3);
    } else {
        geladen = this.getBytesLoaded();
        gesamt = this.getBytesTotal();
        prozent = Math.round ((geladen/gesamt)*100)+" %";
        prozent_lb = Math.round ((geladen/gesamt)*100);
        ladebalken._xscale=prozent_lb;
    }) {

    thanks a lot


    Loco
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    dieses Script lädt aber keine externe Datei, sondern den aktuellen Film selber vor.

    Ausserdem würde ich nicht mit _framesloaded arbeiten, sondern auch bei der Abfrage mit getBytesLoaded():
    PHP-Code:
    if (this.getBytesLoaded() >= this.getBytesTotal() && this.getBytesLoaded() > 10) {
        
    gotoAndPlay(3);
    } else {
        
    geladen this.getBytesLoaded();
        
    gesamt this.getBytesTotal();
        
    prozent Math.round ((geladen/gesamt)*100)+" %";
        
    prozent_lb Math.round ((geladen/gesamt)*100);
        
    ladebalken._xscale=prozent_lb;

    Gruß
    .
    Geändert von Datic (28.06.05 um 17:50 Uhr)
     

  3. #3
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    HI,
    also ich hatte gerade was vergessen ich hab den Preloader im externen Flashfilm und nicht im Hauptfilm. @ Datic ich bekommne Actionscript Fehlermeldung bei deiner Version.
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    **Fehler** Szene=pre, Ebene=Ladebalken, Bild=1:Zeile 1: '(' erwartet
         if _this.getBytesLoaded() >= _ this.getBytesTotal() && _this.getBytesLoaded() > 10 {
     
    **Fehler** Szene=pre, Ebene=Ladebalken, Bild=1:Zeile 3: 'else' ohne entsprechendes 'if' gefunden
         } else {
     
    Anzahl der ActionScript-Fehler: 2    Gemeldete Fehler: 2
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Ups, das kommt von Copy&Paste: Ich hatte die Unterstriche nicht rausgelöscht (habs nun korrigiert).

    Dennoch lädt dieser Preloader keine externe Datei, da
    Code :
    1
    
    this.getBytesLoaded()
    Die geladenen Bytes des Films, in dem das Script steht, zurückgibt - und
    Code :
    1
    
    _framesloaded
    die Frames des selben.

    Vielleicht kannst Du die Datei einmal posten?

    Gruß
    .
     

  5. #5
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    Guten Morgen Datic,

    also Datei findest du hier

    gruß und danke

    loco
     

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Ja,

    Die Datei lädt sich selbst; keine externe Datei. Das Problem ist, dass sich über 90 Prozent der Daten im ersten Frame befinden (frag mich nicht wieso; auch wenn ich die Exportfreigaben der Komponenten rausnehme, ist das noch der Fall), und der Preloader somit erst mit der Anzeige beginnt, wenn fast der ganze Film geladen ist.

    Lösung: Verwende einen wirklichen "externen" Preloader, der den gesamten Hauptfilm in einen Container oder eine Stufe lädt. Tipp: Im Sammelthread findest Du u.A. den "tf_loader" - der ist relativ einfach anzupassen.


    Gruß
    .
     

  7. #7
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    hi,

    vielen dank für deine schnelle antwort also irgendwie bin ich zu blöd ich poste mal meinen hauptfilm. Ich habe dort MC auf der hauptbühne die auf knopfdruck die position verändern und der Ihnalt wir in die einzelnen MC geladen.

    gruß

    Loco
    Angehängte Dateien Angehängte Dateien
     

  8. #8
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Oh oh, da ist aber einiges im Argen...
    • Zunächst:
      Code :
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      
      on( release ){
      _root.menu3_mc.pozicioni = 595
      }
      on( release ){
      _root.menu4_mc.pozicioni = 615
      }
      on( release ){
      _root.menu5_mc.pozicioni = 635
      }
      on( release ){
      _root.menu6_mc.pozicioni = 655
      }
      on( release ){
      _root.menu7_mc.pozicioni = 675
      }
      on( release ){
      _root.menu8_mc.pozicioni = 695
      }
      Du kannst nur ein release-Event definieren. Schreib einmal on(release) und dann alle Positionsänderungen in den Ereignishandler. So wie Du es jetzt stehen hast, wird nur die letzte Funktion ausgeführt.

    • Code :
      1
      2
      
      on (press) {unloadMovie(100);
      }
      Was macht das "100" im unloadMovie? Welchen Clip willst Du damit entladen? So wie es dort steht, würde der Menü-Button selber entladen werden, was nicht geht, da es sich nicht um einen eingeladenen Clip handelt.

    • Statt den Inhalt auf den Schaltflächen direkt zu laden, wie Du es im Moment machst:
      Code :
      1
      2
      
      on (press) {_root.menu1_mc.veranstaltung.loadMovie("veranstaltung.swf")
      }
      , rufe eine Funktion auf, die Ladeziel und Ladequelle übergeben bekommt:
      PHP-Code:
      on(press) {
          
      _root.ladeInhalt(_root.menu1_mc.veranstaltung"veranstaltung.swf");

      Nun kannst Du diese Funktion anlegen, und dort auch gleich Deinen externen Preloader einbauen:
      PHP-Code:
      // Folgendes auf der Hauptzeitleiste eingeben:
      function ladeInhalt(destsrc) {
          
      dest.loadMovie(src);
          
      this.onEnterFrame = function() {
              var 
      cur dest.getBytesLoaded();
              var 
      max dest.getBytesTotal();
              if (
      cur 10 && max 10) {
                  var 
      percent cur 100 max;
                  
      // Hier kannst Du einen Ladebalken anzeigen
                  // in "percent" stehen die geladenen %
                  
      if (percent >= 100delete this.onEnterFrame;
              }
          }

    • Ach ja, noch was: Das Script auf den Hauptmenübuttons ist (veraltete) Flash 4-Syntax:
      Code :
      1
      2
      3
      4
      
      onClipEvent( EnterFrame ){
      y = position - getProperty("",_y)
      setProperty ("",_y,getProperty("",_y) + y / a)
      }
      Besser wäre z.B.:
      PHP-Code:
      onClipEvent(enterFrame) {
          var 
      position this._y;
          
      this._y += (a);


    Gruß
    .
     

  9. #9
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    Muss ich die funktion in den erste frame auf der hauptbühne legen oder wie meinst du das?!

    Gruß

    Loco
     

  10. #10
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    muss ich den leeren MC den ich in den eizelnen bereichen habe löschen, da in dem Preloaderbesipiel was Du mir empfolen hast ein createEmptyMovieClip drin steht

    gruß

    Loco
     

  11. #11
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    #1 Ganz genau, das kommt in die Hauptzeitleiste.

    #2 Ich habe in meinem letzten Posting doch schon eine komplette Preloader-Funktion mitgepostet. Dort ist nicht von createEmptyMovieClip die Rede. Du sparst Dir das Entladen der Container, indem Du einfach immer den selben Container nimmst - die SWF-Dateien darin werden dann einfach überschrieben. Ansonsten: Mit Deinem unloadMovie hast Du bisher auch nichts entladen, da die Pfadangabe fehlte. Wenn Du weiterhin mit mehreren Containern arbeiten willst, kannst Du einfach im Anfang der Funktion "ladeInhalt(dest, src)" alle Container entladen, etwa so:
    PHP-Code:
    function ladeInhalt(destsrc) {
        
    container_about.unloadMovie();
        
    container_links.unloadMovie();
        
    container_texte.unloadMovie();
    ... 
    (Bezeichner durch die Namen Deiner Container ersetzen)

    Gruß
    .
     

  12. #12
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    Ja irgendwie tut sich bei meinem fil nix also ich hab bestimmt was vergessen. also ich ha die funktion in den ersten frame auf der hauptbühne gelegt. aber der fil wir nun gar nicht mher geldaden habs noch mal angehangen.
    tut mir leid ich weiß unwissenheit wird bestrfat

    danke nochmal.

    Loco
    Angehängte Dateien Angehängte Dateien
     

  13. #13
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Das Laden funktioniert bei mir...

    Alllerdings:

    1. hast Du nur den Code auf dem ersten Button geändert.

    2. sollte der Code in etwa so aussehen:
    PHP-Code:
    onrelease ){
        
    _root.menu2_mc.position 575
        _root
    .menu3_mc.position 595
        _root
    .menu4_mc.position 615
        _root
    .menu5_mc.position 635
        _root
    .menu6_mc.position 655
        _root
    .menu7_mc.position 675
        _root
    .menu8_mc.position 695
    }

    on(press) {
        
    _root.ladeInhalt(_root.menu1_mc.veranstaltung"veranstaltung.swf");

    (siehe mein vorheriges Posting; jeden Handler kannst Du nur einmal definiertn)

    3. Ok, ich habe gesehen, Du brauchst verschiedene Container, da die Inhalte direkt in die Menü-MCs geladen werden. Entlade also alle anderen Clips in der Funktion "ladeInhalt":
    PHP-Code:
    function ladeInhalt(destsrc) {
        
    menu1_mc.veranstaltung.unloadMovie();
        
    menu2_mc.ziele.unloadMovie();
        
    menu3_mc.unternehmen.unloadMovie();
        
    menu4_mc.foerderer.unloadMovie();
        
    // usw. für alle Container, die Du hast
        
    dest.loadMovie(src);
        
    this.onEnterFrame = function() {
            var 
    cur dest.getBytesLoaded();
            var 
    max dest.getBytesTotal();
            if (
    cur 10 && max 10) {
                var 
    percent cur 100 max;
                
    // Hier kannst Du einen Ladebalken anzeigen
                // in "percent" stehen die geladenen %
                
    if (percent >= 100delete this.onEnterFrame;
            }
        }

    Gruß
    .
     

  14. #14
    loco666 loco666 ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    46
    hi Datic,

    also den inhalt läd er jetzt aber kein ladebalken wir mir angezeigt.
    also si wie ich es verstehe muss der ja auch im ersten bild der hauptbühne liegen oder?

    gruß

    Loco
     

  15. #15
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Nö, ich hab ja auch keinen Ladebalken programmiert - das kannst Du sicher selber: pack den irgendwo hin auf die Hauptzeitleiste (z.B. in eine neue Ebene) und steuer ihn mit den Werten an, die Du von der Preloader-Funktion bekommst, "cur", "max" und "percent".

    Gruß
    .
     

Ähnliche Themen

  1. Preloader - Problemchen ( Preloader aus 3 animierten MovieClips)
    Von -Phantomas- im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 07.09.10, 10:02
  2. JList ScrollPane
    Von moemaster im Forum Java
    Antworten: 8
    Letzter Beitrag: 11.03.10, 14:48
  3. ScrollPane 2 lässt ScrollPane 1 verschwinden
    Von hinotenshi im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 31.01.10, 15:50
  4. Scrollpane
    Von mischdrx im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 30.11.06, 19:21
  5. Webseiten Preloader / Bilder Preloader
    Von liquidbeats im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 27.02.05, 16:29