Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-11-2008, 11:49   #1 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 9
XML Daten Reihenfolge durcheinander

Hallo liebe Flash-Profis,

ich habe momentan ein etwas merkwürdiges Problem. Ich habe in Flash eine kleine Slideshow erstellt, die über eine XML-Datei gesteuert wird. Die Slideshow enthält Bilder und auf jedem Bild liegt ein Link, der eine HTML-Seite aufruft.

Die XML Datei generiert sich dynamisch über ein CMS, die HTML-Seiten sind ebenfalls über das CMS gepflegt. Das swf liegt auf einem anderen Server (ich weiß nicht ob mein Problem vielleicht daran liegt) und zeigt die Bilder und Links aus dem CMS an. So weit so gut.

Jetzt habe ich nur das Problem, das das swf die Reihenfolge der Bilder und Links durcheinander bringt. In der XML-Datei ist sie noch vollkommen in Ordnung. Da habe ich dann mehrere Bilder (z.B. Bild 1.jpg bis 5.jpg) die Links (z.B. 1.html bis 5.html) aufrufen sollen, bloß das swf ruft dann plötzlich bei Bild 1 Link 3 (oder ähnlich, Reihenfolge ist nicht so ganz nachvollziehbar) auf.

Ich poste jetzt mal noch keinen Code, vielleicht hat ja jemand direkt die Lösung parat (so nach dem Motto: ach, ist mir auch schon passiert, da musst du einfach XYZ an Stelle ABC machen und schon geht's ;-)

Naja, die Hoffnung stirbt zuletzt. Vielen Dank euch allen vorab.

Gruß, Michael
__________________
Flash CS4, ActionScript Neuling, Betriebssystem OS X
Pixeljockey ist offline   Mit Zitat antworten
Alt 27-11-2008, 08:43   #2 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 9
Hallo zusammen,

da mir bisher keiner helfen konnte muss ich vielleicht doch einmal meinen Code posten...

Also meine xml sieht folgendermaßen aus:
PHP-Code:
<?xml version="1.0" encoding="utf-8" ?> 
<slideshow width="500" height="180" speed="10">
     <image url="http://www.mydomain.de/images/1.jpg" href="http://www.seconddomain.de/1.htm" title="Titel 1" />
     <image url="http://www.mydomain.de/images/2.jpg" href="http://www.seconddomain.de/2.htm" title="Titel 2" />
     <image url="http://www.mydomain.de/images/3.jpg" href="http://www.seconddomain.de/3.htm" title="Titel 3" />
     .
     .
     .
</slideshow>
Damit füttere ich dieses ActionScript:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;

var 
myShowXML = new XML();
myShowXML.ignoreWhite true;
myShowXML.load("http://www.mydomain.de/xml/data.xml");

myShowXML.onLoad = function() {
    
_root.myWidth myShowXML.firstChild.attributes.width;
    
_root.myHeight myShowXML.firstChild.attributes.height;
    
_root.mySpeed myShowXML.firstChild.attributes.speed;

    
_root.myImages myShowXML.firstChild.childNodes;
    
_root.myImagesNo myImages.length;

    
createContainer();
    
callImages();
};


function 
createContainer() {
    
_root.createEmptyMovieClip("myContainer_mc",1);

    
myContainer_mc._x 0;
    
myContainer_mc._y 0;
}

function 
callImages() {
    
_root.myMCL = new MovieClipLoader();
    
_root.myPreloader = new Object();
    
_root.myMCL.addListener(_root.myPreloader);

    
_root.myClips_array = [];

    
_root.myPreloader.onLoadStart = function(target) {
        
//_root.createTextField("myText_txt",_root.getNextHighestDepth(),0,0,100,20);
        //_root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2;
        //_root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2;
        //_root.myText_txt.autoSize = "center";
        //_root.myText_txt.text = "test";
    
};

    
_root.myPreloader.onLoadProgress = function(target) {
        
//_root.myText_txt.text = "Loading.. "+_root.myClips_array.length+"/"+_root.myImagesNo+" Completed";
    
};

    
_root.myPreloader.onLoadComplete = function(target) {
        
_root.myClips_array.push(target);
        
target._alpha 0;
        if (
_root.myClips_array.length == _root.myImagesNo) {
            
//_root.myText_txt._y = myContainer_mc._y + myContainer_mc._height;
            
_root.target_mc = -1;
            
moveSlide();
            
myShowInt setInterval(moveSlide, (_root.mySpeed*1000)+1000);
        }
    };

    for (
i=0i<_root.myImagesNoi++) {
        
temp_url _root.myImages[i].attributes.url;
        
temp_link _root.myImages[i].attributes.href;
        
temp_mc myContainer_mc.createEmptyMovieClip(imyContainer_mc.getNextHighestDepth());
        
_root.myMCL.loadClip(temp_url,temp_mc);
    }
}

function 
moveSlide() {
    
current_mc _root.myClips_array[_root.target_mc];
    new 
Tween(current_mc"_alpha"Strong.easeOut10001true);

    
_root.target_mc++;

    if (
_root.target_mc>=_root.myImagesNo) {
        
_root.target_mc 0;
    }
    
    
_root.myContainer_mc.onPress = function () {
        
getURL("javascript:box('"+_root.myImages[target_mc].attributes.href+"');");
    }
    
    
//_root.myText_txt.text = _root.myImages[target_mc].attributes.title;
    
next_mc _root.myClips_array[_root.target_mc];
    new 
Tween(next_mc"_alpha"Strong.easeOut01001true);

Den Preloader und die Anzeige der Titel habe ich auskommentiert, die kommen nur vielleicht noch rein. Ich denke aber nicht, dass es daran liegt...

Nochmals kurze Beschreibung des Problems:
Ich bekomme alle Bilder angezeigt, aber teilweise zeigt er Bild 1 und öffnet Link 2. Manchmal stimmen die ersten paar Links, manchmal stimmen alle nicht. Es ist insgesamt (zumindest für mich) nicht ganz nachvollziehbar. Es hat da auch jeder Browser bei anderen Bildern Probleme...

Wäre super wenn mir da jemand weiterhelfen könnte, oder mich zumindest in die richtige Richtung schubsen würde

Auf jeden Fall allen "Mitgrüblern" im Voraus ein dickes Dankeschön.

Gruß, Michael
__________________
Flash CS4, ActionScript Neuling, Betriebssystem OS X
Pixeljockey ist offline   Mit Zitat antworten
Alt 28-11-2008, 14:38   #3 (permalink)
lernend
 
Benutzerbild von mychiara
 
Registriert seit: Mar 2003
Ort: essen
Beiträge: 771
ich bin mir ja jetzt nicht hundertpro sicher, aber es sieht so aus als würdeste da teilweise die werte die du lädst immer jeweils überschreiben... also gerade die attribute Width und so.
__________________
cheerio mychiara

--------------------------------------------------------------------------

lars roboter [myspace] | larsroboter.com:::.
mychiara ist offline   Mit Zitat antworten
Alt 28-11-2008, 14:56   #4 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 9
Hallo mychiara,

also Breite, Höhe und Geschwindigkeit dürfte er eigentlich nicht übeschreiben, die liest er ja nur einmal aus und dann war es das. Ich denke mein Problem liegt mehr an der Stelle

PHP-Code:
    _root.myContainer_mc.onPress = function () { 
        
getURL("javascript:box('"+_root.myImages[target_mc].attributes.href+"');"); 
    } 
bzw. an der Stelle wo ich es platziert habe, weil genau dabei hakt's ja. Ich wüsste aber nicht wie ich da an anderer Stelle, oder auf andere Weise, die Links aus meiner XML noch rein kriegen würde...

Aber vielen Dank auf jeden Fall schon mal für deine Antwort ;-)
__________________
Flash CS4, ActionScript Neuling, Betriebssystem OS X
Pixeljockey ist offline   Mit Zitat antworten
Alt 22-03-2010, 14:03   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2008
Beiträge: 1
Gleiche Problem

Ich habe Haargenau das selbe Problem... ich glaub sogar wir hatten beim erstellen die gleiche Quelle als Tut.
Hattest du für dein Problem eine Lösung gefunden? Vielleicht erinnerst du dich ja daran - bin genauso am verzweifeln ...

Bei mir funktioniert es eins a mit IE, Chrome und Safari nur der Firefox bringt bei mir die reihenfolge der Bilder durcheinander...
töni ist offline   Mit Zitat antworten
Alt 22-03-2010, 14:28   #6 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 9
Hallo Töni,

ich habe das Problem damals leider nicht lösen können. Ich hatte es dann aus Verzweifelung über JavaScript allein gelöst. Das wäre auch die Lösung, die ich heute bevorzugen würde. Für den Effektkram würde ich dann einfach ein Framework wie jQuery nehmen. Liegt aber vielleicht auch daran, dass ich mich nie so richtig in die Flash-Materie einfinden konnte.

So long,

Pixeljockey
__________________
Flash CS4, ActionScript Neuling, Betriebssystem OS X
Pixeljockey 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:14 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele