| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 18
|
Habe folgendes Problem mit Flash MX: Habe eine Combobox in der Werte ausgewählt werden können. Sobald der Wert sich dort ändert soll ein Scrollpane mit Text und Bildern gefüllt werden. Bin soweit das ich einen MovieClip brauche der gescrollt wird. In diesem werden die Textfelder dynamisch erstellt. Zusätzlich brauche ich für jedes Bild wieder einen MC um das Bild zu positionieren. Nun mein Problem: Wenn ich das erste Bild lade kann man das mit loadMovie("meinJPEG", meinMC) tun. Soweit so gut, nur gibt er mir dann Höhe 0 zurück. Also das ganze noch mit onEnterFrame umgeben. Dann wird das Bild zwar geladen aber die anderen Anweisungen werden zu früh ausgeführt, es wartet also nicht bis das Bild fertig geladen ist (ist aber von Nöten da ich die Höhe brauche). In der Textdatei die durchlaufen wird steht text und Pfade für die Bilder. Wie schaffe ich es das das Laden vom 1. Bild erst abgeschlossen wird dann wieder Text, dann das nächste Bild usw. while (position < ende) { this.meinMc.createTextField(.......); //dann Text und alles einfügen und nun ein Bild einfügen. this.meinMc.createEmptyMovieClip("bild",....); this.meinMc.bild.loadMovie("jpeg"); this.meinMc.onEnterFrame = function(){ //Berechnungen ob fertig } position = aktpos_imText; } Hat jemand eine Idee? Kann leider keinen kompletten Quelltext reinstellen da dieser etwas chaotisch im Moment aussieht. |
| | |
| | #2 (permalink) | |
| User Registriert seit: Sep 2003 Ort: Essen
Beiträge: 616
| Zitat:
So zum Beispiel: PHP-Code: So kannst du das Ganze einigermaßen dynamisch gestalten. Gruß | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Dec 2002 Ort: Weißwasser
Beiträge: 45
|
Ich würde das mit XML lösen. Da kannst Du Bilder ganz einfach zu Deinem Text mit einlesen. Die XML Datei gibt dabei nur die Pfade zu den Bildern an. Außerdem kannst Du die XML Dateien mit PHP dynamisch aktualisieren. PHP-Code: Den Text kannste auch noch in ne Variable schreiben! Bitteschön.
__________________ flying high Geändert von tona (17-12-2004 um 12:07 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Sep 2004
Beiträge: 18
|
Das mit dem XML habe ich leider nicht hin bekommen da meine DB im Hintergrund nicht so wollte wie ich... Hier jetzt noch mal meine Lösung zum laden der Bilder. Der Code von jeypack war für mich Gold wert. Parse zu Beginn die Textdatei und Lese Pfade und Texte in ein Array. Bin ich mit dem Parsen fertig rufe ich meine "ersteFunktion" auf. Habe mir also zwei Funktionen gebastelt. Allerdings ruft die eine Funktion die andere auf. In der ersten werden die Textfelder geladen, da dies ja nicht zeitabhängig ist.Ist also das Element ein Text wird die erste Funktion durch laufen.Ist das Element ein Bild wird die erste unterrbrochen und "setbilder" aufgerfuen. Ist das Bild fertig geladen wird wieder die erste aufgerufen und setzt beim nächsten Element fort. Bis alles fertig geladen ist. Code: ersteFunktion = function(index,laenge){
for(var i=index;i<laenge;i){
t_depth = 100+i;
if(_global.advice_elements[i][0] == 0){
mc.createTextField("text"+t_depth,t_depth,0,_global.y_pos,570,100);
mc["text"+t_depth].wordWrap=true;
mc["text"+t_depth].autoSize=true;//!
mc["text"+t_depth].multiline=true;
mc["text"+t_depth].text = _global.advice_elements[i][1];
_global.y_pos += this.mc["text"+t_depth]._height;
i++;
}else{
advice_path = _global.advice_elements[i][1];
if(advice_path.length>1){
i++;
setBilder(advice_path,i,laenge);
trace("Bitte");
}
i=laenge;
}
advice_text_sp.refreshPane();
}
}
setBilder = function (folder,index,laenge) {
mc.createEmptyMovieClip("bildmc"+index,index);
mc["bildmc"+index].loadMovie(folder);
trace(pfad+" "+folder+" "+bildmc);
mc.onEnterFrame = function() {
if (mc["bildmc"+index].getBytesTotal() == mc["bildmc"+index].getBytesLoaded() && mc["bildmc"+index].getBytesLoaded()>20) {
trace("_global.y_pos + Bildhöhe "+_global.y_pos+" + "+mc["bildmc"+index]._height);
delete mc.onEnterFrame;
mc["bildmc"+index]._y = _global.y_pos;
_global.y_pos += mc["bildmc"+index]._height;
trace("Der Index in setBilder "+index);
if(laenge >index){
ersteFunktion(index,laenge);
}else{
trace("Stehe ich am Ende");
advice_text_sp.refreshPane();
}
}
};
}; Vielen dank noch mal für die gute Hilfe. Geändert von marsel (12-01-2005 um 14:00 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |