Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2012, 17:34   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Preloader aus XML

Hallo Leute,

ich habe bereits einige Zeit in die Recherche des Problems investiert, bin aber nicht ans Ziel gekommen. Ich möchte Bilder aus einer XML Datei vorladen und das mittels Ladebalken (o.ä.) anzeigen. Ich habe folgendes Script gefunden, doch das geht nicht wirklcih, da die Variable "gesamt" immer genauso groß ist wie "geladen"

PHP-Code:
var geladen 0gesamt0,    prozent 0;
    
for (var 
0_global.anzahlz++) {
        
this.createEmptyMovieClip("content"+zz);
        
loadMovie((bilder.firstChild.childNodes[kategorie].childNodes[z].attributes.pic), "content" z);
        
this["content" z]._y += 100;
    }
function 
laden() {
    
    for (var 
0_global.anzahlj++) {
        
geladen += this["content" j].getBytesLoaded();
        
gesamt += this["content" j].getBytesTotal();        
    }
    
prozent Math.round((100*geladen)/ gesamt);
    if (
prozent == 100) {        
        
trace("geladen");
        for (var 
0_global.anzahlk++) {
            
removeMovieClip("content" k);            
        }        
        
delete this.onEnterFrame;
    
    }};
    
this.initPreloader();
/*this.onEnterFrame = function() {
    
}*/



testbutton._alpha 0;
testbutton2._alpha 0;

this.onEnterFrame = function(){
    
this.laden();    
    
trace(gesamt);
    
trace(geladen);
    
    
    if(
testbutton._alpha<= 100){
        
testbutton._alpha +=5;}
    if(
testbutton2._alpha<= 100){
        
testbutton2._alpha +=5;}} 
Wäre schön wenn mir jemand helfen könnte. Und wenn es möglich ist, ohne dass ich das ganze komplett umschreiben müsst ^^. Danke euch
Rareer ist offline   Mit Zitat antworten
Alt 19-01-2012, 18:20   #2 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Der Code den du da gefunden hast, ist ziemlicher Murks. Nimm mal lieber den MovieClipLoader:

Flash CS4 Professional ActionScript 2.0

dort finden sich auch Beispiele, einfach weiterblättern.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist offline   Mit Zitat antworten
Alt 19-01-2012, 20:23   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Danke schonmal für den Tipp. Leider hab ich das ganze nicht vollständig durchschauen können. Weiß nicht genau wie ich das angegebende Beispiel auf meins übertragen kann, weil dort immer nur ein Bild geladen wird und nicht mehrere aus einer Schleife.

PHP-Code:
var container:MovieClip this.createEmptyMovieClip("container"this.getNextHighestDepth());
var 
image:MovieClip container.createEmptyMovieClip("image"container.getNextHighestDepth());

var 
mcLoader:MovieClipLoader = new MovieClipLoader();
var 
listener:Object = new Object();
listener.onLoadProgress = function(target:MovieClipbytesLoaded:NumberbytesTotal:Number):Void {
    
trace(target ".onLoadProgress with " bytesLoaded " bytes of " bytesTotal); 
}
mcLoader.addListener(listener);
mcLoader.loadClip("http://www.w3.org/Icons/w3c_main.png"image);

var 
interval:Object = new Object();
interval.id setInterval(checkProgress100mcLoaderimageinterval);

function 
checkProgress(mcLoader:MovieClipLoaderimage:MovieClipinterval:Object):Void {
    
trace(">> checking progress now with : " interval.id);
    var 
progress:Object mcLoader.getProgress(image);
    
trace ("bytesLoaded: " progress.bytesLoaded " bytesTotal: " progress.bytesTotal);
    if(
progress.bytesLoaded == progress.bytesTotal) {
        
clearInterval(interval.id);
    }

Rareer ist offline   Mit Zitat antworten
Alt 19-01-2012, 21:24   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2010
Beiträge: 61
Habe es jetzt so versucht:
PHP-Code:
var weiter=false;
var 
prozent 0;
var 
container:MovieClip this.createEmptyMovieClip("container"this.getNextHighestDepth());
var 
image:MovieClip container.createEmptyMovieClip("image"container.getNextHighestDepth());

var 
mcLoader:MovieClipLoader = new MovieClipLoader();
var 
listener:Object = new Object();
listener.onLoadProgress = function(target:MovieClipbytesLoaded:NumberbytesTotal:Number):Void {
    
trace(target ".onLoadProgress with " bytesLoaded " bytes of " bytesTotal); 
}
mcLoader.addListener(listener);

for(var 
z=0z<_global.anzahlz++){
mcLoader.loadClip((bilder.firstChild.childNodes[kategorie].childNodes[z].attributes.pic), image);
image._y=10000;}

var 
interval:Object = new Object();
interval.id setInterval(checkProgress100mcLoaderimageinterval);

function 
checkProgress(mcLoader:MovieClipLoaderimage:MovieClipinterval:Object):Void {
    
trace(">> checking progress now with : " interval.id);
    var 
progress:Object mcLoader.getProgress(image);
    
prozent Math.round((100*progress.bytesLoaded)/ progress.bytesTotal);
    
trace(prozent);
    
trace ("bytesLoaded: " progress.bytesLoaded " bytesTotal: " progress.bytesTotal);
    if(
progress.bytesLoaded == progress.bytesTotal) {
        
laden.text prozent;
        
weiter=true;
        
clearInterval(interval.id);
    }

scheinbar werden auch die Bilder geladen, da es ja eine Bytezahl ausgibt. Allerdings ist es immer 100 Prozent und auf der Website werden die Bilder scheinbar nicht alle vorgeladen, da es eine weile Dauert beim ersten mal Durchklicken.
Rareer ist offline   Mit Zitat antworten
Alt 19-01-2012, 21:59   #5 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
Ne, ne, nicht einfach Code rüber kopieren!
Da musst du schon den Text lesen, der ihn erklärt

Zitat:
Das folgende Beispiel veranschaulicht die Verwendung der Methode getProgress(). Normalerweise wird aber nicht diese Methode eingesetzt, sondern ein Listener-Objekt erstellt, das auf das Ereignis onLoadProgress wartet.
Das Interval mit samt der checkProgress funktion ist also überflüssig.

---

Du erstellst nur einen Ziel-MovieClip "image".

Wie du hier nachlesen kannst, führt das zu Problemen mit mehreren Bildern:
Flash CS4 Professional ActionScript 2.0

Zitat:
target: Object - Der Zielpfad eines Movieclips oder eine Ganzzahl, mit der die Ebene in Flash Player angegeben wird, in die der Film geladen wird. Der target-Movieclip wird durch die geladene SWF- bzw. Grafikdatei ersetzt.
__________________
anbei Grüße vom milchreis: Viva la [Silb]
"Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!"

[Von null auf Flash in einem Klick.] <<< klick
milchreis 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Preloader Probl. externe Mc inkl. Preloader laufen nicht richtig!!! Help mistermaakoon Flash 8 5 26-05-2008 16:12
[Flash] Preloader soll nicht gesamte Animation laden + Preloader im IE nico1802 Flash Einsteiger 1 21-06-2007 12:55
preloader läd musik nicht, ohne preloader geht sie svane Flash MX 10 11-04-2006 12:49
Preloader problem, wie kann ich meinen Preloader noch nützen... Grisuuu Flash MX 2004 32 08-05-2005 01:52
Preloader Problem... Flash scheint den ganzen Film vor dem Preloader zu laden kosi Flash MX 2004 4 03-12-2004 18:18


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele