Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-11-2005, 16:15   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 8
Question preloader funktioniert in flash aber nicht online

hallo beisammen!

ich habe gerade einen nervigen fehler entdeckt, als ich meine flash-seite mal von zuhause aus (mit einer isdn-leitung) austesten wollte:
habe einen preloader programmiert, der in der flash-entwicklungsumgebung scheinbar problemlos funktioniert, wenn man den film mit versch. bandbreiten testet.

online mit einer isdn-leitung siehts aber so aus:
der preloader blitzt nur kurz auf, der hauptfilm wird abgespielt (obwohl natürlich noch nicht fertig geladen) und der home-content-movieclip, der per loadMovie gleich am anfang dazugeladen wird, erscheint erst garnicht!!
er ignoriert scheinbar die stop() - anweisungen, die sich im code befinden?!

vielleicht weiß einer rat von euch, benötige dringend hilfe.

code im haupt-swf-file:
PHP-Code:
bild1preloader auf bühne plaziert
bild2movieclip 'mc_contentHome' dynamisch erstellenmit "home.swf"
        
füttern und dann gleich stoppen, da dieser erst wenn vollständig 
        
geladenabgespielt werden soll:
        
mc_contentHome.loadMovie("home.swf");
        
mc_contentHome.gotoAndStop(1);
        (
home.swf selbst wird in bild1 gestoppt...)
bild3leer
bild4
hier überprüfe ich mit this.getBytesLoaded /-total und 
        
mc_contentHome.getBytesLoaded /-total ob die 2 files
        fertig geladen wurden
springe dann entweder auf bild3
        oder
wenn fertig geladenlasse ich den hauptfilm weiter abspielen
        und spiele den mc_contentHome ab
:
        
this.play();
        
mc_contentHome.gotoAndPlay(2); 
ps: die MovieClipLoader-Klasse möchte ich nicht verwenden, da die seite mit version 6 laufen soll.

Geändert von Gilbert (05-11-2005 um 17:11 Uhr)
Gilbert ist offline   Mit Zitat antworten
Alt 05-11-2005, 16:19   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Und warum schreibst du hier so ein "Erklärungs-Script" anstelle deins zu posten? Wie soll man da denn einen Fehler finden...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-11-2005, 17:09   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 8
hast ja recht
hab mir nur gedacht, dass der 'viele' restliche code die sache vielleicht nur
unnötig verkompliziert:

main.swf bild2:
PHP-Code:
//  Allgemeine Variablen:
var content_to_load "none";
var 
start_depth 100;
var 
play_sound true;

//###########################################################################################
//  Preloader init
mc_preloader.loading_complete false;
mc_preloader.mc_preloader_balken._xscale 0;
mc_preloader.onEnterFrame = function() {
    
trace("bin in onEnterFrame von '" this._name "'");
    if ( 
this._alpha 100 ) { this._alpha += 5; }
    else { 
delete this.onEnterFrametrace("finished onEnterFrame von '" this._name "'"); }
}
mc_preloader.varProzent "0%";

//###########################################################################################
//  Erstellen und init der noch leeren Content-Movieclips
var content_array = new Array("mc_contentKontakt""mc_contentShopfinder""mc_contentMarken""mc_contentHighlights""mc_contentHome");

for (var 
i=0i<content_array.lengthi++) {
    
this.createEmptyMovieClip(content_array[i], start_depth);
    
start_depth++;
    eval(
content_array[i]).bereits_geladen false;
    eval(
content_array[i])._x 228//vorher: 228.7
    
eval(content_array[i])._y 11;  //vorher: 11.3
}


//###########################################################################################
//  Anfänglich wird der home-bereich geladen
mc_contentHome.loadMovie("home.swf");
mc_contentHome.gotoAndStop(1); 
main.swf bild3 -> leer

main.swf bild4:
PHP-Code:
//Errechnen Prozentzahl geladen (main-file + home-bereich)
var summe_geladen this.getBytesLoaded() / this.getBytesTotal() * 100;
summe_geladen += mc_contentHome.getBytesLoaded() / mc_contentHome.getBytesTotal() * 100;

main_prozent Math.round(summe_geladen 2);
mc_preloader.mc_preloader_balken._xscale main_prozent;
mc_preloader.varProzent main_prozent "%";

if ( 
main_prozent 100 ) {
    
gotoAndPlay(3);
}
else {
    
trace("bild 4: loading COMPLETE!");
    
mc_preloader.varProzent "";
    
mc_preloader.onEnterFrame = function() {
        if ( 
this._alpha ) { this._alpha -= 10; }
        else { 
delete this.onEnterFramethis.removeMovieClip(); }
    }
    
mc_contentHome.bereits_geladen true;
    
    
play();

main.swf bild 40:
PHP-Code:
mc_contentHome.gotoAndPlay(2); 
und home.swf bild 1 sieht so aus:
PHP-Code:
stop(); 
home.swf bild 2:
PHP-Code:
play(); 
Gilbert ist offline   Mit Zitat antworten
Alt 05-11-2005, 17:21   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Mal so'n Schuss ins Blaue:
PHP-Code:
if (main_prozent>=100 && mc_contentHome.getBytesLoaded()>10) {
    
trace("bild 4: loading COMPLETE!");
    
mc_preloader.varProzent "";
    
mc_preloader.onEnterFrame = function() {
        if (
this._alpha>0) {
            
this._alpha -= 10;
        } else {
            
delete this.onEnterFrame;
            
this.removeMovieClip();
        }
    };
    
mc_contentHome.bereits_geladen true;
    
play();
} else {
    
gotoAndPlay(3);

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 05-11-2005, 17:47   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 8
vielen dank, frager!
es hat wirklich so funktioniert!
ich weiß nur grad noch nicht, was ich daraus lernen soll..
soll man jetzt sobald man mehrere dinge gleichzeitig dynamisch hinzulädt, immer
auch abfragen ob den schon mindestens 10 byte geladen worden sind, bevor man fortfährt?!

ein problem ist jetzt auch noch entstanden:
die lade-prozentzahl in mc_preloader zeigt mir ein paar sekunden lang den wert
NaN an, bevor der balken dann plötzlich auf 50% geladen springt..
initialisieren würde die zahl ja eh am anfang mit "0%".
was kann man da tun, damit der balken und die prozentzahl schön von null weg laufen?

vielen dank nochmal und möglicherweise vielen dank im voraus!
Gilbert ist offline   Mit Zitat antworten
Alt 05-11-2005, 18:02   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo nochmal!
Das Problem könnte sein, dass du in der Bibliothek etwas mit "export für AS" und "ins erste Bild exportierten" gekennzeichnet hast. Das wir vor dem eigentlichen Film geladen. Ansonsten ist die Kombination von Haupfilm geladen und in MC geladen immer etwas unglücklich. Die Sache mit dem NaN hingegen ist einfach zu lösen:
PHP-Code:
if (main_prozent>=100 && mc_contentHome.getBytesLoaded()>4) {//...mal runterschrauben ;-)
    
trace("bild 4: loading COMPLETE!"); 
    
mc_preloader.varProzent ""
    
mc_preloader.onEnterFrame = function() { 
        if (
this._alpha>0) { 
            
this._alpha -= 10
        } else { 
            
delete this.onEnterFrame
            
this.removeMovieClip(); 
        } 
    }; 
    
mc_contentHome.bereits_geladen true
    
play(); 
} else {
if(
mc_preloader.varProzent == "NaN%")
{
mc_preloader.varProzent "0%"
    
gotoAndPlay(3); 

__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (05-11-2005 um 18:06 Uhr)
Der Frager ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele