Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-07-2006, 17:04   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
XML file preloaden?

hallo leutln,

sagts mal, ist es rein theoretisch moeglich einen preloader fuer ein XML file zu basteln? also eine wirklichen preloader und keinen gefake-ten waehrend onLoad noch net fertig ist?

wenn ja wie, habs heut vergeblich versuch, komm einfach nicht drauf wo und wie ich getBytesLoaded/Total einbaue....


lg
nizon ist offline   Mit Zitat antworten
Alt 06-07-2006, 17:36   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hallo...
flash 8 aber actionscript 1.0??

also hier ein beispiel, wie es mit as2.0 gehen sollte:
PHP-Code:
var dein_xml:XML = new XML();
    
dein_xml.load('datei.xml');
    
dein_xml.onLoad = function (b:Boolean) :Void {
        var 
geladen:Number this.getBytesLoaded();
        var 
gesamt:Number this.getBytesTotal();
        
trace(geladen*100/gesamt+'% geladen');
        if (
btrace('Laden fertig.');
    } 
gruß janosch

Geändert von janoshnosh (06-07-2006 um 17:41 Uhr)
janoshnosh ist offline   Mit Zitat antworten
Alt 06-07-2006, 20:04   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
danke dir fuer deine antwort!
soweit bin ich auch schon gekommen...das ding ist halt dass die geschichte bei onLoad doch schon fertig geladen ist und mir dann nur noch 100% ausgibt oder? und nicht quasi von 0-100% raufzaehlt bzw. ich einen ladebalken einbauen kann oder?

gruss

nizon
nizon ist offline   Mit Zitat antworten
Alt 06-07-2006, 20:19   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Schau Mal in die Flashhilfe. Da steht, daß das XML-Objekt
die Methoden getBytesLoaded() und getBytesTotal() hat.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 06-07-2006, 20:44   #5 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
Zitat:
Zitat von nizon
das ding ist halt dass die geschichte bei onLoad doch schon fertig geladen ist und mir dann nur noch 100% ausgibt oder?
nein, onLoad wird _während_ des lade-vorganges dauerhaft ausgeführt - deswegen heißt es auch onLoad .

wenn das laden beendet ist, wird die funktion ein letztes mal ausgeführt, diesmal wird dann aber das argument true mit übergeben.

xml-dateien sind i.d.R. doch sehr klein - ein ladevorgang sollte kaum zu bemerken sein. alternativ kannst du den lade-vorgang aber auch mit einer onEnterFrame funktion nachbauen - z.b. so:
PHP-Code:
var dein_xml:XML = new XML();
    
dein_xml.load('datei.xml');
var 
dummy_mc:MovieClip _root.createEmptyMovieClip('nurEinDummy'_root.getNextHighestDepth());
    
dummy_mc.onEnterFrame = function () :Void {
        var 
geladen:Number dein_xml.getBytesLoaded();
        var 
gesamt:Number dein_xml.getBytesTotal();
        
trace(geladen*100/gesamt '% geladen');
        
        if (
geladen == gesamt) {
            
delete this.onEnterFrame;
            
removeMovieClip(this);
        }
    } 
so solltest du einen recht genauen überblick bekommen, wie schnell das ding tatsächlich geladen ist bzw. was der flash-player davon mitbekommt.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 06-07-2006, 20:48   #6 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
noch was:
mein beispiel von weiter oben muss korrekter weise auch so heißen:
(onLoad muss/soll vor der .load() anweisung definiert werden)
PHP-Code:
var dein_xml:XML = new XML();
    
dein_xml.onLoad = function (b:Boolean) :Void {
        var 
geladen:Number this.getBytesLoaded();
        var 
gesamt:Number this.getBytesTotal();
        
trace(geladen*100/gesamt+'% geladen');
        if (
btrace('Laden fertig.');
    }
    
dein_xml.load('datei.xml'); 
janoshnosh ist offline   Mit Zitat antworten
Alt 07-07-2006, 09:22   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
super genial hat perfekt hingehauen!!

der grund fuer den xml-preloader ist einfach, dass mehrere sachen geladen werden, und selbst wenn das xml nur klein ist aber die internetverbindung langsam ists fein wenn man sieht dass da doch noch was kommt.

noch a kleine frage: wird in as2.0 jetzt alles in 'xyz' geschrieben und nicht in normalen anfuehrungszeichen "xyz" ?

gruesse
nizon ist offline   Mit Zitat antworten
Alt 07-07-2006, 15:36   #8 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
' = "
da macht flash keinen unterschied, ist ne reine angewöhnungssache. ich habe mir angewöhnt, echten text in "" zu schreiben, und string-argumente in '_'. in html/javascript empfand ich es als sinnvoll, html-strings "_" zu schreiben und java-strings '_'...
aber wie gesagt, das macht jeder wie er will.

ich halte es nur für jeden persönlich für sinnvoll, es auszunutzen, dass zwei verschiedene notationsmöglichkeiten zur verfügung stehen - das kann der übersicht dienen.

gruß janosch
janoshnosh 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 13:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele