Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-04-2006, 10:42   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: NRW
Beiträge: 8
Preloader + jpg über xml funktioniert nicht

Hallo zusammen!

Thema "Preloader" zum 1000. mal, ich weiss, aber ich habe die Suchfunktion benutzt und mich mit verschiedenen Tutorials beschäftigt und trotzdem bekomme ich meinen Preloader einfach nicht ans laufen.

Kann mir jemand einen Tipp geben?

Alles auf/in einem Frame:

MC - Instanzname: "Tacho"
MC - Instanzname: "zeiger" (in "Tacho")
Dyn.Textfeld - Var "Prozent_txt" (in "Tacho")
Dyn.Textfeld - Instanzname: "titel_txt" (für die eingeladenen Bilder)


PHP-Code:
mein_xml = new XML();
mein_xml.ignoreWhite true;
mein_xml.load("bilddaten1.xml");

mein_xml.onLoad = function(status) {
    if (
status && this.loaded) {
    
anzahl mein_xml.firstChild.childNodes.length;
    
geladen true;
    
aktBild 0;
    
ladeBild(aktBild);
    }
};


function 
ladeBild(paktBild) {
    
Tacho._visible false;
    
bild mein_xml.firstChild.childNodes[paktBild].attributes.pic;
    
bildname mein_xml.firstChild.childNodes[paktBild].attributes.name;
    
createEmptyMovieClip ("container",8);
    
container.loadMovie(bild"bild_mc");
    
ladestatus = function() {
        
Tacho.onEnterFrame = function() {
            
bytesLoaded = (_root.container.getBytesLoaded());
            
bytesTotal = (_root.container.getBytesTotal());
            if (
bytesLoaded <= 10) {
                
Tacho._visible true;
                
percentSetup math.round((bytesLoaded/bytesTotal)*100);
                
this.Prozent_txt percentSetup;
                
this.zeiger._rotation percentSetup *2;
                if (
bytesLoaded >= bytesTotal) {
                    
Tacho._visible false;
                    
delete this.onEnterFrame;
                };
            };
        };
    };
                
container._x 321.5;
                
container._y 108;
                
container._xscale 20;
                
container._yscale 30;
                
titel_txt.text bildname;

Alle Bilder werden eingeladen und auch der Bildtext wird angezeigt, also wird demnach die xml-Datei richtig eingelesen. Nur mein Tacho-Preloader taucht kurz auf, und verschwindet gleich wieder, bevor das Bild vollständig geladen wurde...

Bin über jeden Tipp dankbar!
Grüsse
__________________
Please press any Key - "...where´s the Any-Key?"

Geändert von KamagrA (26-04-2006 um 10:44 Uhr)
KamagrA ist offline   Mit Zitat antworten
Alt 26-04-2006, 11:48   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
if (bytesLoaded <= 10) { 
Kleiner/gleich???
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 26-04-2006, 12:10   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: NRW
Beiträge: 8
ups...!

Sofort geändert, und trotzdem taucht der Preloader nur kurz auf, verschwindet direkt wieder und erscheint nach dem 1.Bild gar nicht mehr. Textfeld bleibt auch leer, und Zeiger bewegt sich nicht. Ich vermute, dass der Preloader keinen Bezug zu den jpg´s bekommt, die geladen werden sollen. Falls meine Vermutung richtig ist: wie spreche ich die zu ladenen jpeg´s mit dem Preloader an?

Habe auch schon folgendes probiert (ohne Erfolg):
PHP-Code:
bytesLoaded = (_root.container.bild_mc.getBytesLoaded());
            
bytesTotal = (_root.container.bild_mc.getBytesTotal()); 
__________________
Please press any Key - "...where´s the Any-Key?"

Geändert von KamagrA (26-04-2006 um 12:26 Uhr)
KamagrA ist offline   Mit Zitat antworten
Alt 26-04-2006, 17:49   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Gut, es heißt Math.round nicht math.round. Aber das ist nur eine Sache, die ich da gerade gesehen habe und hat wahrscheinlich nix mit dem Verschwinden des Preloders zu tun.
Aber du simulierst schon einen Download, ja?
Ansonsten mal die fla her...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 26-04-2006, 18:15   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Ort: NRW
Beiträge: 8
Vielen Dank für die aufgebrachte Bereitschaft!

Nach einer Kanne Kaffee später ist es mir dann auch bewusst geworden, wo der Fehler lag...

Falls jemand mal über selbiges Problem stolpern sollte, hier ein Beispiel wie es funktionieren kann:

LAYER 1 -> einen Tacho-Preloader_mc auf die Bühne schieben mit Instanznamen "Tacho". Darin befindet sich der Zeiger_mc mit Instanznamen "zeiger" und ein dynamisches Textfeld, var = Prozent_txt.

folgender AS-code wird auf dem entsprechenden frame platziert
PHP-Code:
Tacho._visible false;
ladestatus = function() {
        
Tacho.onEnterFrame = function() {
            
bytesLoaded = (_root.container.getBytesLoaded());
            
bytesTotal = (_root.container.getBytesTotal());
            if (
bytesLoaded >= 10) {
            
Tacho._visible true;
            
prozent Math.round((bytesLoaded/bytesTotal)*100);
            
this.Prozent_txt int(prozent);
            
this.zeiger._rotation prozent*2;
            if (
bytesLoaded >= bytesTotal) {
                
delete this.onEnterFrame;
                
this._visible false;
                };
            };
        };
    }; 
LAYER 2 -> Hier kommt euer MovieClip hin. In meinem Bsp. die Bildergalerie mit 2 buttons zum durchblättern (Instanznamen "forward" und "backward" )
und einem dynamischen Textfeld mit Instanznamen "titel_txt".
PHP-Code:
mein_xml = new XML();
mein_xml.ignoreWhite true;
mein_xml.load("bilddaten1.xml");

mein_xml.onLoad = function(status) {
    if (
status && this.loaded) {
    
anzahl mein_xml.firstChild.childNodes.length;
    
geladen true;
    
aktBild 0;
    
ladeBild(aktBild);
    }
};

function 
ladeBild(paktBild) {
    
bild mein_xml.firstChild.childNodes[paktBild].attributes.pic;
    
bildname mein_xml.firstChild.childNodes[paktBild].attributes.name;
    
createEmptyMovieClip ("container",1);
    
this.container.loadMovie(bild"bild_mc");
    
ladestatus();
    
                
container._x 321.5;
                
container._y 108;
                
container._xscale 20;
                
container._yscale 30;
                
titel_txt.text bildname;
}

// Weiter Schalter
_root.forward.onRelease = function() {
    if (
geladen && aktBild<anzahl-1) {
        
aktBild++;
        
ladeBild(aktBild);
    }
};

// Zurück Schalter
_root.backward.onRelease = function() {
    if (
geladen && aktBild>0) {
        
aktBild--;
        
ladeBild(aktBild);
    }
}; 
Die xml-Datei will ich euch auch nicht vorenthalten "bilddaten1.xml":
PHP-Code:
<?xml version="1.0" encoding="utf-8"?>
<Bilder>
<Bild name="Beispielbild" pic="bilder1/bild1.jpg"/>
<Bild name="Beispielbild2" pic="bilder1/bild2.jpg"/>
</Bilder>
Dazu noch einen Ordner Namens "bilder1" in dem die zu ladenen Bilder enthalten sind und fertig.

Wahlweise lassen sich auch externe .swf-files einladen. Im entsprechenden frame folgenden AS-code eingeben:
PHP-Code:
createEmptyMovieClip ("container",2);
this.container.loadMovie("test.swf");
ladestatus(); 
Vielen Dank dafür an Madokan, Rena und Der Frager!
__________________
Please press any Key - "...where´s the Any-Key?"

Geändert von KamagrA (26-04-2006 um 18:20 Uhr)
KamagrA 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:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele