Preloader für Scrollpane

loco666

Mitglied
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:
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
 
Hi,

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

Ausserdem würde ich nicht mit _framesloaded arbeiten, sondern auch bei der Abfrage mit getBytesLoaded():
PHP:
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ß
.
 
Zuletzt bearbeitet:
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:
**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
 
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:
this.getBytesLoaded()
Die geladenen Bytes des Films, in dem das Script steht, zurückgibt - und
Code:
_framesloaded
die Frames des selben.

Vielleicht kannst Du die Datei einmal posten?

Gruß
.
 
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ß
.
 
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
 

Anhänge

  • website.zip
    29,8 KB · Aufrufe: 13
Oh oh, da ist aber einiges im Argen...
  • Zunächst:
Code:
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:
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:
on (press) {_root.menu1_mc.veranstaltung.loadMovie("veranstaltung.swf")
}
, rufe eine Funktion auf, die Ladeziel und Ladequelle übergeben bekommt:
PHP:
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:
// Folgendes auf der Hauptzeitleiste eingeben:
function ladeInhalt(dest, src) {
    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 >= 100) delete this.onEnterFrame;
        }
    }
}


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

Gruß
.
 
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
 

Neue Beiträge

Zurück