Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-03-2009, 15:39   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
richtig laden (.swf<.swf<.jpgs)

Hallo Zusammen,

ich verstehen da etwas nicht und habe wohl etwas murgs gebaut – ich möchte .jpgs in ein .swf laden, welches dann in den Hauptmovie geladen wird. Funktioniert auch, aber dadurch das die .jpgs alle einzeln in das .swf geladen werden, weiß natürlich der Preloader nicht wie groß, etc. die jpgs sind, weil sie parallel geladen werden und unterschiedlich groß sind. Somit ist der Preloader fertig bevor alle wirklich geladen sind und im schlechtesten Fall ist das .jpg welches per _alpha sichtbar gemacht werden soll, noch nicht ganz geladen.

Ich hoffe ich habe das verständlich geschrieben.

Kann mir bitte jemand helfen. Für einen Ansatz wäre ich schon dankbar.

Gruß
xtrabox
xtrabox ist offline   Mit Zitat antworten
Alt 20-03-2009, 16:06   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Du brauchst dann in dem nachgeladenen swf noch einen Preloader für die Bilder.

Such mal nach MovieClipLoader...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 20-03-2009, 16:18   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Danke für die Antwort.

Den MovieClipLoader habe ich schon drinnen und die .jpgs werden auch so geladen. Ich denke das die .jpgs einzeln geladen werden ist das Problem, das sieht man auch im Bandbreiten Profiler. Wenn eines der .jpgs geladen ist fadet das .swf ein und im schlechtesten Fall ist das nicht das erste jpg – wenn dann alles geladen ist kommt es ohne Fade rein.
Die Lösung wäre einfach alle .jpgs rein ins .swf und dann mit dem mcl laden, nur müsste ich dann ca. 500 Bilder positionieren.

Kann mir bitte jemand weiterhelfen.

gruß, xtrabox
xtrabox ist offline   Mit Zitat antworten
Alt 20-03-2009, 16:37   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Du kannst die Bilder doch auch nacheinander anstelle gleichzeitig laden.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 20-03-2009, 16:51   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Danke für die Antwort!

Ich sollte aber dazu sagen, das diese über eine _alpha-Funktion ein- oder ausgefadet werden und alle in der Zeitleiste auf dem gleichen Frame liegen.

Ich kann zwar in jedem mc das laden per Moviecliploader über die Zeitleiste regulieren, aber das verändert ja nicht wirlich etwas daran – da dann zwar ein Preloading stattgefunden hat aber einzelne .jpgs nicht wirklich geladen sind. Vielleicht drücke ich mich auch falsch aus?

Wahrscheinlich muss ich den Preloader auf die einzelnen Moviecliploader legen und wenn das Bild noch nicht geladen ist sieht man kurz den Preloader. Besser hätte ich gefunden, wenn alle .jpgs geladen werden und es ein Preloader fürs ganze gibt. Ist halt murks!

Wie würdest Du die hintereinander laden?
xtrabox ist offline   Mit Zitat antworten
Alt 21-03-2009, 11:30   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Okay!

Ich habe versuche nun es besser zu beschreiben! Ich habe eine .swf-Datei in die mehrere .jpgs geladen werden sollen. Die .swf-datei wird wiederum in den Hauptmovie geladen. Um die .swf-Datei zu laden muss ich erstmal wissen wieviel Daten (.jpgs) geladen werden – "bytesTotal", wie kann ich nun alle .jpgs in den mcl integrieren so das es eine komplette Abfrage gibt.
Wichtig ist noch das die mc's in die geladen werden soll benannten sind – z.B. l1_mc, l2_mc …

Kann mir bitte jemand auf die Sprünge helfen.


PHP-Code:
var container:MovieClip this.createEmptyMovieClip("container"this.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);
}
listener.onLoadInit = function(target:MovieClip):Void {
    
trace(target ".onLoadInit");
}
mcLoader.addListener(listener);
mcLoader.loadClip("bild1.jpg"container); 
xtrabox ist offline   Mit Zitat antworten
Alt 21-03-2009, 12:26   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
So hier könnte man das machen:
PHP-Code:
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);
};
listener.onLoadInit = function(target:MovieClip):Void  {
    
trace(target+".onLoadInit");
    if (++
count<=anzahl) {
        
laden(count);
    } else {
        
trace("Alles geladen");
    }
};
mcLoader.addListener(listener);
//
var anzahl:Number 30;
//z.B. 30 Bilder
var count:Number 1;
//Zählvariable
function laden(i) {
    var 
container:MovieClip this.createEmptyMovieClip("container"+ithis.getNextHighestDepth());
    
mcLoader.loadClip("Bild"+("0"+i).substr(-2)+".jpg"container);
    
//Bildnamen: Bild01, Bild02, ...
}
laden(count); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-03-2009, 12:50   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Vielen Dank, Frager!

Wenn ich das so aufbaue dann sit das ohne Zweifel sauber gelöst. Leider habe ich aber schon einige Dateien gebaut die zugeladet werden sollen … so müsste wohl noch einige Stunden dranhängen, …
Gibt es vielleicht auch die Möglichkeit die Zuordnung z.b. ("bild1.jpg", container … als Auflistung aufzubauen?

Das wäre mir wirklich eine Hilfe.
xtrabox ist offline   Mit Zitat antworten
Alt 21-03-2009, 12:57   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Auflistung? Meinste ein Array? Da kannst du dann jedes Bild und jeden Ziel-MC-Namen angeben wie du willst.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-03-2009, 13:08   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Ja, genau das! Danke!

Leider habe ich aber kein Beispiel gefunden und die Flash-Hilfe ist auch nicht wirklich dienlich. Außer ich habe etwas übersehen.

Wie kann ich das mit Arrays lösen?
xtrabox ist offline   Mit Zitat antworten
Alt 21-03-2009, 13:24   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
PHP-Code:
var arr:Array = [["Bild01.jpg""container1"], ["tolles_foto.jpg""foto_mc"]];
var 
anzahl:Number arr.length;
//z.B. 30 Bilder
var count:Number 0;
//Zählvariable
function laden(i) {
    
//var container:MovieClip = this.createEmptyMovieClip("container"+i, this.getNextHighestDepth());
    
mcLoader.loadClip(arr[i][0], arr[i][1]);
}
laden(count); 
Rest kann so bleiben, außer bei der if-Abfrage - da muss dann noch das "=" raus.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-03-2009, 13:43   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2008
Beiträge: 34
Vielen Dank. Das hätte ich nicht so hin bekommen!

Das teste ich nachher mal. Ich hoffe das ich dann beim laden der .swf in den Hauptmovie keine Probleme bekomme.

Hier der übernommene Aufbau (sollte die Frage bei einem anderem User nochmal auftauchen):

PHP-Code:
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);
};
listener.onLoadInit = function(target:MovieClip):Void  {
    
trace(target+".onLoadInit");
    if (++
count<anzahl) {
        
laden(count);
    } else {
        
trace("Alles geladen");
    }
};
mcLoader.addListener(listener);

var 
arr:Array = [["Bild01.jpg""container1"], ["tolles_foto.jpg""foto_mc"]];
var 
anzahl:Number arr.length;
var 
count:Number 0;

function 
laden(i) {
    
//var container:MovieClip = this.createEmptyMovieClip("container"+i, this.getNextHighestDepth());
    
mcLoader.loadClip(arr[i][0], arr[i][1]);
}
laden(count); 
xtrabox ist offline   Mit Zitat antworten
Alt 26-06-2009, 10:48   #13 (permalink)
Neuer User
 
Benutzerbild von cuep01
 
Registriert seit: Jan 2004
Ort: Berlin
Beiträge: 147
hallo,

ich muss den thread nochmal auskramen.
ich probier seid ner weile das teil so umzubauen das er das letzte bild als erstes lädt und nich von 1 hochzählt.
kann mir ml jemand einen schubser geben

mfg.
__________________
http://www.304dpi.de
cuep01 ist offline   Mit Zitat antworten
Alt 29-06-2009, 07:13   #14 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Beiträge: 468
hallo cuep,

in dem du die reheinfolge von arr umkehrst
PHP-Code:

var arr:Array = [["Bild01.jpg""container1"], ["tolles_foto.jpg""foto_mc"]]; 
arr.reverse() 
chanel 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 19:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele