Antworten auf deine Fragen:
Neues Thema erstellen

Laufband mit XML-Bildereinbindung

Jormungand

VonAllemEtwas

Hi alle,
bei meinem Projekt soll ein horizontales Laufband kontinuierlich durchlaufen. Die Bilder werden per XML geladen. Mit meinen recht beschränkten Flash-Kenntnissen habe ich versucht, das Teil zum Laufen zu kriegen, aber es will nicht.
Kann mir wer unter die Arme greifen?

XML-Datei:
PHP:
<?xml version='1.0' encoding='utf-8'?>
<handwerk hoehe="330" speed="2">
  <bild url="handwerk/1.jpg" title="Bild 1" breite="493" />
  <bild url="handwerk/2.jpg" title="Bild 2" breite="493" />
  <bild url="handwerk/3.jpg" title="Bild 3" breite="493" />
  <bild url="handwerk/4.jpg" title="Bild 4" breite="493" />
  <bild url="handwerk/5.jpg" title="Bild 5" breite="493" />
  <bild url="handwerk/6.jpg" title="Bild 6" breite="493" />
  <bild url="handwerk/7.jpg" title="Bild 7" breite="493" />
  <bild url="handwerk/8.jpg" title="Bild 8" breite="493" />
  <bild url="handwerk/9.jpg" title="Bild 9" breite="493" />
</handwerk>
Flash-Datei:
PHP:
/*
BESCHREIBUNG
In dieser Galerie sollen Bilder aus einer XML-Datei gelesen 
und nebeneinander in einen MC eingebettet werden.
Anschließend wird der MC dupliziert und an den ersten angehängt.
Beim Abspielen läuft der erste MC von rechts nach links und dahinter gleich die Kopie.
Wenn die Kopie an der Stelle ankommt, an der der MC gestartet ist,
wird der MC wieder auf die Startposition gesetzt und die Kopie wieder dahinter.
--> Endloses Laufband.
*/


// XML erstellen
handwerkXML = new XML();
// Leerstellen ignorieren
handwerkXML.ignoreWhite = true;
// XML-Datei einlesen
handwerkXML.load("handwerk.xml");
// Wenn das Laden funktioniert...
handwerkXML.onLoad = function(success) {
    // Arrays für Attribute erstellen
    handwerkXML_breite = [];
    // Variable wird in der Schleife gebraucht
    var breiteGesamt:Number = 0;
    // leerer MC erstellt
    this.createEmptyMovieClip("balken_mc");
    // Der MC muss 350 hoch sein. Auch in der XML dürfen nur 350 hohe Bilder sein.
    this.balken_mc._height = 350;
    trace("Start ok");
    // Wenn onLoad funktioniert hat...
    if (success) {
        trace("Success ok");
        // For-Schleife, bei 0 beginnen und hochzählen bis (Anzahl der childNodes)
        for (var i = 0; i<handwerkXML.firstChild.childNodes.length; i++) {
            // Werte auslesen und in Variable eintragen je Attribut und Arraystelle (warum krieg ich String?)
            handwerkXML_breite[i] = Number(handwerkXML.firstChild.childNodes[i].attributes.breite);
            handwerkXML_title[i] = handwerkXML.firstChild.childNodes[i].attributes.title;
            // Die einzelnen Bilder werden aus der XML reingeladen
            loadMovie(handwerkXML.firstChild.childNodes[i], bild[i]);
            // x-Wert der Bilder ist gleich der Variable breiteGesamt (am Anfang 0)
            bild[i]._x = breiteGesamt;
            // breiteGesamt ist die vorige breiteGesamt + Breite des aktuellen Bildes
            breiteGesamt = breiteGesamt+handwerkXML.firstChild.childNodes[i].attributes.breite;

            trace(handwerkXML_title[i]);
        }
        trace("nach Schleife ok");
        trace(breiteGesamt);
        // speed aus XML ausgelesen
        geschwindigkeit = handwerkXML.firstChild.attributes.speed;
        // Nachdem in der Schleife alle Bilder nebeneinandergesetzt wurden, wird die Gesamtbreite des MCs gesetzt
        this.balken_mc._width = breiteGesamt;
        // Der Movieclip wird dupliziert
        duplicateMovieClip("balken_mc", "balken2_mc", 0);

        // Bewegung
        // Bsp. x-Wert 0 - Geschw. 5 = Neuer x-Wert -5
        balken_mc._x -= geschwindigkeit;
        balken2_mc._x -= geschwindigkeit;
        startpos1 = balken_mc._x;
        startpos2 = balken2_mc._x;
        // Wenn balken2 kleiner als Startposition wird...
        if (balken2_mc._x<startpos1) {
            //...soll zum x-Wert (= negative Gesamtbreite) die Gesamtbreite dazugezählt werden (also 0)
            balken_mc._x += breiteGesamt;
            //...wird zum x-Wert (etwa 0) die Gesamtbreite dazugezählt (also Gesamtbreite)
            balken2_mc._x += breiteGesamt;
        }
    }


};

Ein Fehler wird mir von Flash nicht angezeigt. Hat jemand eine Idee was man da machen könnte?:)

Viele Grüße
Jormungand
 

4uwak

WEB?ViDEO?FOTO and more

AW: Laufband mit XML-Bildereinbindung

du hast einen denk fehler drin, mach es so du erstellst einen Haupt MovieClip, in diesen haupt mc erstellst du noch mehr movieclip und in die ladest du dann die bilder rein, und wenn das gemacht ist, bewegst du einfach den haupt mc, natürlich musst du davor einen Maske auf den HauptMC setzen, und wenn die bilder später mit befehlen belegen möchtest musst du noch mal ein unter movieclip erstellen

Gruß aus Australien

Super4uwak
 

Jormungand

VonAllemEtwas

AW: Laufband mit XML-Bildereinbindung

Danke 4uwak, aber eigentlich ist es ja schon so. Es wird der Movieclip balken_mc erzeugt - das ist mein Hauptfilm. Dort werden per Array die Bilder aus der XML-Datei gelesen und hintereinander eingesetzt.
Damit der Hauptfilm nicht irgendwann einfach aufhört, wird er dupliziert. Wenn der duplizierte die Position erreicht, die der Hauptfilm anfangs hatte, wird einfach der Hauptfilm wieder an die Position gesetzt und der duplizierte wieder hinten angehängt.

Von der Theorie her klappts, aber irgendwas stimmt mit dem Quelltext nicht. Kann jemand da einen Fehler entdecken?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.640
Beiträge
1.538.506
Mitglieder
67.559
Neuestes Mitglied
mic4mac
Oben