Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-12-2005, 16:44   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 8
Preloader für externe SWFs klappt nur bei jedem 2. click

Hi Leute,
habe mir aus dem Forum 2 Scripte geholt und nun stehe ich vor volgendem Problem:
Ich habe bei einem Button einen Crossfade zwischen zwei SWFs.
Diese sollen aber jeweils einen Preloader haben.
Dieser funktioniert aber nur bei jedem 2. Sprung.
Jeweils beim nächsten bleibt der Preloader aus.
hier mal das Scribt. Hoffe einer von Euch kann mir helfen.
PHP-Code:
//--- Ladefunktion --------------------------------
ladestatus = function () {
    
preloader.onEnterFrame = function() {
        
geladen _root.loader.pic1.getBytesLoaded();
        
zuladen _root.loader.pic1.getBytesTotal();
        
geladen _root.loader.pic2.getBytesLoaded();
        
zuladen _root.loader.pic2.getBytesTotal();
        if (
geladen>=10) {
            
preloader._visible true;
            
prozent Math.round(geladen/zuladen*100);
            
this.prozentanzeige.text prozent+" %";
            
this.balken._xscale prozent;
            if (
prozent>=100) {
                
delete this.onEnterFrame;
                
this._visible false;
            }
        }
    };
};
//-------------------------------------------------

// ----------------Crossfade Loader ---------------------------------
var but 7
// damit ich weis, in welchen mc das neue Motiv geladen werden muss 
var aktLoader 1;

// die 2 neuen mc's (die die Motive laden) werden im loader erstellt 
loader.createEmptyMovieClip"pic1"1);
loader.createEmptyMovieClip"pic2"2);

// es wird schon 1 Motiv zufällig vorgeladen
var film = ["M01.swf""M02.swf""M03.swf""M04.swf""M05.swf""M06.swf"];
var 
url "motive/";
loadMovie(url+film[random(6)], "loader.pic1");

// Function die das faden bewerkstelligt 
// oldMC = der der weg soll, newMC = der der neu kommt, a = wie schnell faden 
function fadePicIn_OutoldMCnewMC

    if( 
aktLoader == 
    { 
        var 
"pic1"
        var 
"pic2"
        
aktLoader 2;
    } 
    else 
    { 
        var 
"pic2"
        var 
"pic1"
        
aktLoader 1;
    } 
    
loadMovienewMC"loader." c);
    
ladestatus();
    
loader]._alpha 0;
    
loader.onEnterFrame = function()
    { 
        
loader]._alpha -= a;
        
loader]._alpha += a;
        if( 
loader]._alpha 1   &&   loader]._alpha 99 
        {
            
delete this.onEnterFrame
        } 
    }
}
// ----------------------------------------------------------------------------- 

Geändert von Cytronic44 (04-12-2005 um 17:11 Uhr)
Cytronic44 ist offline   Mit Zitat antworten
Alt 04-12-2005, 18:26   #2 (permalink)
nekoupour
Gast
 
Beiträge: n/a
hab mir Dein Script nicht genau angeschaut, aber ich empfiehl Dir mit MovieClipLoader() zu arbeiten. Außerdem lädt man natürlich zuerst den Preloader und dann die restlichen swf's....

Geändert von nekoupour (04-12-2005 um 18:28 Uhr)
  Mit Zitat antworten
Alt 04-12-2005, 20:22   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 8
also mit diesem Loader funzt es nicht???
Finde, dass der halt sehr einfach ist.
Komme nur nicht damit klar, wie ich dem bei bringe sich bei jedem click zu aktivieren.
Das problem liegt in der create new MC pic1 und pic2.
Aber ich bekomme es schon den ganzen Tag einfach nicht hin.
Cytronic44 ist offline   Mit Zitat antworten
Alt 04-12-2005, 20:34   #4 (permalink)
nekoupour
Gast
 
Beiträge: n/a
Deine Ladefunktion ist etwas falsch....

Ich schlage vor, du fügst entweder noch den Paramter hinzu, der vom Typ ein MovieClip ist und die jeweiligen Werte (getBytesTotal() usw.) abgefragt werden etc...oder halt mit dem MovieClipLoader....

Ich persönlich würd es mit dem MCL machen.
  Mit Zitat antworten
Alt 04-12-2005, 20:40   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 8
ok, da ich in as nicht der hellste bin, kannst du mir das etwas genauer erklären? Muss gestehen, das ich von MCL heute/eben zum ersten mal höre.
schon mal danke
Cytronic44 ist offline   Mit Zitat antworten
Alt 04-12-2005, 20:45   #6 (permalink)
nekoupour
Gast
 
Beiträge: n/a
Also schaffe Dir erstmal am besten Kenntnisse von MCL (z.B. durch Help)

Und hier ein Beispiel aus einem früheren Projekt von mir...hier ein Codeabschnitt:

PHP-Code:
var myMCL:MovieClipLoader = new MovieClipLoader();
var 
myListener:Object = new Object();
myListener.onLoadProgress = function(target_mcloadedBytestotalBytes) {
    
_level50._visible true;
    var 
gesamt:Number Math.round((loadedBytes/totalBytes)*100);
    
_level50.preloader.gotoAndStop(gesamt);
    
_level50.loading_txt.text gesamt "% of " target_mc._name " loaded"
};
myListener.onLoadComplete = function(target_mc) {
    
_level50._visible false;
};
myListener.onLoadError = function(ziel_mcerrorCode) {
    
_level50.loading_txt.text "Error: "+errorCode;
    
rStatus false;
};
myMCL.addListener(myListener);
myMCL.loadClip("preloader.swf"50);
_level50._visible false
Ein externer Preloader wird hier geladen und wird je nach Prozent, das jeweilige Bild angesprochen.
Nach Erfolgreichem Laden, wird er unsichtbar gemacht.
Das ganze wurde in die Tiefe: 50 (_level50) geladen.

Die jeweiligen Funktionsnamen des Listeners (z.B. -onLoadProgress, onLoadComplete usw.) versteht sich ja vopn selbst.
  Mit Zitat antworten
Alt 04-12-2005, 20:52   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 8
alles klar, danke.
werde mich dann mal da etwas mehr rein hängen. kann ja so nicht weiter gehen!
Cytronic44 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:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele