Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-04-2005, 16:15   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 6
PROBLEM: JPG, LoadMovie und Preloader

Ich brauche eure Hilfe. Ich habe hier schon gesucht und einiges gefunden, aber leider war nicht der entscheidende Hinweis dabei, oder ich habe ihn übersehen. Ich hoffe, Ihr könnt mir helfen. Ich glaube es handelt sich um ein kleines Problem, aber ich komm nicht weiter (Anfänger).

Also: Ich möchte mehrere Bilder in meinen Film laden und will jeweils einen Preloader davor haben. Das Bild soll aber dann beim Anzeigen in eine Animation eingebunden sein und am Ende mit Alpha eingeblendet werden.
Unter http://beta.argesdenken.com/bromfx/flash/ könnt ihr sehen wie es aussehen soll, wenn ihr direkt auf den Button Creatures klickt. Das Bild kommt ziemlich hart rein, wenn man auf den zweiten Unterpunkt und dann wieder auf den ersten klickt, sieht man, wie weich das Bild eigentlich reinfaden soll.

Mein Problem ist also, daß der Film nicht wartet bis das Bild geladen ist, sondern gleich abläuft. Ich habe folgende konkrete Dinge nicht kapiert:
1. Wenn ich den MovieClip mit createEmptyMovieClip erzeuge, wie bekomme das dann in die Animation mit eingebaut.
2. Wenn ich es ohne createEmptyMovieClip mache, den Ziel-MC aber erst nach dem Preloader, also im 4. Frame auf die Bühne packe, geht es garnicht. Er findet das Ziel nicht, weil es nicht (noch nicht) existiert, oder?
3. Platziere ich den Ziel-MC direkt im ersten Frame, probiert er das Bild sofort anzuzeigen.

Unter http://beta.argesdenken.com/flash/bilderloader.zip ist das FLA.

Ich hoffe, ihr könnt mir helfen, ich komme überhaupt keinen Meter mehr weiter.

Vielen Dank,
Alexander
alexusofborg ist offline   Mit Zitat antworten
Alt 10-04-2005, 00:54   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zu 1.: mit createEmptyMovieClip erstellst du einen leeren MC zur Laufzeit. Wenn du in diesen MC mit loadMovie eine swf nachlädst, kannst du diese swf über den MC steuern:
PHP-Code:
//auf der Hauptzeitleiste!
this.createEmptyMovieClip("con",1);//leeren MC auf Tiefe 1 von Level 0 erzeugen
this.con.loadMovie("meineAnimation.swf");//und in diesen MC einen Film laden, dann bspw.:
this.con._x =100;//den Film neu positionieren
this.con.gotoAndPlay(20);//in der geladenen swf auf Frame 20 springen 
Zu 2.: klar, wenn noch kein MC existiert kann du da auch keinen Film einladen...

Zu 3.: mach es, wie im Script beschrieben, nämlich erst zur Laufzeit erstellen.

Du kannst dir das ganze dann noch vereinfachen, indem du das alles auf einem einzigen Frame mit einer Funktion erstellst, bspw:
PHP-Code:
//auf der Hauptzeitleiste ohne Clipevents!
_level0.createEmptyMovieClip("mcHolder",1);//leeren MC erstellen
_level0.mcHolder._alpha 0;//zuerst unsichtbar
_level0.mcHolder.loadMovie("meinBild.jpg");//in diesen MC ein Bild nachladen

_level0.onEnterFrame = function(){//Preloader, kontinuierliche Überprüfung des Ladevorgangs
    
var fin int(_level0.mcHolder.getBytesLoaded()*100/_level0.mcHolder.getBytesTotal());//Prozentwerte berechnen
    
trace("fin="+fin);//Prozentwert testhalber ausgeben
    
    
if(fin >= 100 && _level0.mcHolder._width && _level0.mcHolder._height>0) {//wenn alles geladen wurde...
        
        
        //und die alpha-Eigenschaft hochziehen, evtl. auch auf einem anderen onEnterFrame - einfach mal testen...
                
if(_level0.mcHolder._alpha <=99){
                     
_level0.mcHolder._alpha ++;
                }
                else{
                    
delete _level0.onEnterFrame;//den Event wieder löschen
                
}
    }

  Mit Zitat antworten
Alt 11-04-2005, 18:41   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 6
Na, das hört sich doch mal gut an. Vielen Dank schon mal. Zwei Fragen habe ich allerdings noch: Wie kann ich denn jetzt beeinflussen, wie schnell die _alpha Eigenschaft sich ändert, so daß ich es mit dem Rest der Animation in Einklang bringen kann? Und ist die Angabe _level0 jedesmal notwendig? Und wenn, wofür genau?

Geändert von alexusofborg (11-04-2005 um 18:42 Uhr)
alexusofborg ist offline   Mit Zitat antworten
Alt 11-04-2005, 21:42   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Da die _alpha-Eigenschaft in dem Script auf einem onEnterFrame-Event liegt, wird sie in diesem Fall bei jedem Framewechsel um eins hochgezählt. Du kannst natürlich statt _alpha ++ auch einen höheren Wert, bspw. _alpha +=5 nehmen, dann wird der Endwert schneller erreicht.

_level0 ist der Objektpfad zur Hauptzeitleiste. Wenn ein Objekt mit einem Instanznamen auf der Bühne/Hauptzeitleiste liegt und das Script ebenfalls, kann die Bezeichnung weggelassen und durch ein "this" ersetzt werden.
  Mit Zitat antworten
Alt 13-04-2005, 19:33   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 6
Okay. Verstehe ich zwar noch nicht alles so genau ;-), aber ich werde mich damit auseinandersetzen. Also vielen Dank nochmal.
Alexander
alexusofborg 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 04:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele