Flashhilfe.de - Flash Community

Ladestatus stimmt nicht überein [Flash 8]

 


AntwortenRegistrieren Seite1  

DaFuNsEl#1
Benutzerbild von DaFuNsEl
Beiträge: 170
Registriert: Jun 2007

16.06.2011, 23:33

Hallo zusammen.

An meinem jetzigen Projekt ist mir was komisches aufgefallen.
Der Preloader spielt ein wenig verrückt. Wenn die Hauptseite geladen wird sieht man den Loader,
zudem die Prozentzahl, wenn 100% erreicht sind, verschwindet der Loader und die Startseite wird angezeigt
So soll es sein!
Dies geschieht so:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
stop();
this.onEnterFrame =   function(){
     geladen   =   this.getBytesLoaded();
     gesamt    =   this.getBytesTotal();
     prozent   =   geladen * 100 / gesamt;
     loader.prozentanzeige.text = Math.round(prozent)+"   %";
     if(geladen >= gesamt) {
        this.gotoAndPlay(2);
        delete this.onEnterFrame;
     }
}


Wenn ich nun auf der Hauptseite bin funktioniert das mit dem ersten Button auch sehr gut.
Der 2te macht doof. Ich bekomme den Loader angezeigt und schon bei 20% zeigt er den Inhalt des zu ladenen Films und der Loader läuft weiter (aber bei 100% wird er ausgeblendet). Bei einem anderen Button wo alles gleich ist, bekomme ich den Film erst angezeigt wenn 100% erreicht sind. Ein Ausschnitt aus dem Script:
ActionScript:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
this.createEmptyMovieClip("swfContainer", 0);
swfContainer._x = 180;
swfContainer._y = 302;
ani._visible = false;
ladestatus = function () {
     ani.onEnterFrame = function() {
        geladen = _root.swfContainer.getBytesLoaded();
        zuladen = _root.swfContainer.getBytesTotal();
        if (geladen>=10) {
           ani._visible = true;
           prozent = Math.round(geladen/zuladen*100);
           this.prozentanzeige.text = prozent+"%";
           if (prozent>=100) {
              delete this.onEnterFrame;
              this._visible = false;
           }
        }
     };
};
screen.onEnterFrame = function() {
     if (_root.screen._currentframe == 59) {
        _root.swfContainer.loadMovie("willkommen.swf");
        ladestatus();
        delete this.onEnterFrame;
     }
};
//////////////////////////////////////////////////////////////////////
btn_ani.onEnterFrame = function() {
     btn_ani.btn_1.txt.text = "Willkommen";
     btn_ani.btn_2.txt.text = "Über Mich";
};
////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
btn_1.onPress = function() {
     btn_ani.btn_1.gotoAndPlay("press");
     swfContainer._visible = false;
     screen.gotoAndPlay("60");
     ani._visible = false;
     ladestatus = function () {
        ani.onEnterFrame = function() {
           geladen = _root.swfContainer.getBytesLoaded();
           zuladen = _root.swfContainer.getBytesTotal();
           if (geladen>=10) {
              ani._visible = true;
              prozent = Math.round(geladen/zuladen*100);
              this.prozentanzeige.text = prozent+"%";
              if (prozent>=100) {
                 delete this.onEnterFrame;
                 this._visible = false;
              }
           }
        };
     };
     screen.onEnterFrame = function() {
        if (_root.screen._currentframe == 99) {
           swfContainer.loadMovie("willkommen.swf");
           ladestatus();
           delete this.onEnterFrame;
        }
     };
};
//////////////////////////////////////////////////////////////////
btn_2.onPress = function() {
     btn_ani.btn_2.gotoAndPlay("press");
     swfContainer._visible = false;
     screen.gotoAndPlay("60");
     ani._visible = false;
     ladestatus = function () {
        ani.onEnterFrame = function() {
           geladen = _root.swfContainer.getBytesLoaded();
           zuladen = _root.swfContainer.getBytesTotal();
           if (geladen>=10) {
              ani._visible = true;
              prozent = Math.round(geladen/zuladen*100);
              this.prozentanzeige.text = prozent+"%";
              if (prozent>=100) {
                 delete this.onEnterFrame;
                 this._visible = false;
              }
           }
        };
     };
     screen.onEnterFrame = function() {
        if (_root.screen._currentframe == 99) {
           swfContainer.loadMovie("mich.swf");
           ladestatus();
           delete this.onEnterFrame;
        }
     };
};
////////////////////////////////////////////////////////////////////

Bei btn_1 läuft alles richtig, btn_2 wird zu früh angezeigt. Das Ganze geht noch weiter über 16 Buttons. Wiederum bei btn_3 (nicht aufgeführt) läuft es richtig, mit dem selben Script...

Weiß da jemand weiter? Ich würde mich sehr über eine Antwort freuen.

MfG
DaFunsel

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de