• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-03-2010, 15:21   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 9
Laufband mit XML-Bildereinbindung

Hi zusammen,
bin neu hier. In einem anderen Forum hat man mir mit meinem Problem nicht helfen können, drum wende ich mich jetzt an die Spezialisten (euch ).

Für ein Projekt versuche ich eine Bildershow zu erstellen. Es soll ein einfaches Laufband mit über XML geladenen Bildern sein. Nichts ist klickbar, das Band scrollt kontinuierlich von rechts nach links. Sollte ja kein Hexenwerk sein.

Als Basis hab ich Teile der XML-Anleitung von pape verwendet.
Jetzt sollte mein Programm fertig sein, aber beim veröffentlichen bleibt alles weiß.

Hier meine XML:
PHP-Code:
<?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>
...und der Code in AS2:
PHP-Code:
/*
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 hat,
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
    
var 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 0i<handwerkXML.firstChild.childNodes.lengthi++) {
            
// Werte auslesen und in Variable eintragen je Attribut und Arraystelle
            
handwerkXML_breite[i] = parseInt(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;
            
trace("breiteGesamt ist im Moment "+breiteGesamt);
            
// breiteGesamt ist die vorige breiteGesamt + Breite des aktuellen Bildes
            
breiteGesamt breiteGesamt+handwerkXML_breite[i];

            
trace(handwerkXML.firstChild.childNodes[i].attributes.title);
        }
        
trace("nach Schleife ok");
        
trace(breiteGesamt);
        
// speed aus XML ausgelesen
        
geschwindigkeit handwerkXML.firstChild.attributes.speed;
        
trace("Geschwindigkeit ist "+geschwindigkeit);
        
// 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;
        }*/
    
}


}; 
Ich bin ziemlicher Anfänger in Flash und hab deshalb alles ziemlich vollgestopft mit Kommentaren und trace-Befehlen - hoffe das stört nicht.
Wäre nett, wenn jemand mal drüberschauen und mir sagen könnte, wo der Fehler liegt...

Danke&Gruß
Jormungand
Jormungand ist offline   Mit Zitat antworten
Alt 01-04-2010, 10:12   #2 (permalink)
Neuer User
 
Benutzerbild von Alaniak
 
Registriert seit: Jul 2002
Beiträge: 378
Kannst vielleicht mal die dateien posten? Ich find das immer etwas schwer, dass rein aus dem Code rauszulesen (zumindest find ich das immer schwer ;-) )
__________________
Bitte keine PMs mit Hilfe-Anfragen, dafür gibts das Forum.
...und übrigens: das Wort heißt Nukular!
Alaniak ist offline   Mit Zitat antworten
Alt 01-04-2010, 14:07   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 9
Habe hier ein kleines Paket geschnürt. Da sollte alles drin sein. laufband.rar
Jormungand ist offline   Mit Zitat antworten
Alt 01-04-2010, 15:15   #4 (permalink)
Neuer User
 
Benutzerbild von Alaniak
 
Registriert seit: Jul 2002
Beiträge: 378
Kannst du da vielleicht noch eine CS3 Version draus machen?
__________________
Bitte keine PMs mit Hilfe-Anfragen, dafür gibts das Forum.
...und übrigens: das Wort heißt Nukular!
Alaniak ist offline   Mit Zitat antworten
Alt 01-04-2010, 18:05   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2010
Beiträge: 9
Hier als CS3. Danke für deine Geduld
laufband_cs3.rar
Jormungand ist offline   Mit Zitat antworten
Alt 01-04-2010, 18:39   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.888
Du musst MCs erstellen, in die du die Bilder lädst:
PHP-Code:
var bild _root.createEmptyMovieClip("bild"+ii+100);//oder eben in den/die Balken laden wie unten beschrieben
bild.loadMovie(handwerkXML.firstChild.childNodes[i].attributes.url);//außerdem attributes.url 
Der ganze Rest passt irgendwie auch noch nicht - aber wenigstens siehst du so mal deine Bilder.
Im onLoad kannste z.B. nicht this benutzen um einen MC zu erstellen und wenn du am Ende die Bilder scrollen willst, müssen die leeren MCs auch im balken_mc erstellt werden - und das doppelt, da duplicateMovieClip() die sonst nicht mitkopiert.
Also schon zwei Balken erstellen und in jeden dieser Balken die Bilder laden.

Viel Spaß...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bildershow, laufband, slider, xml

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Laufband empfl Flash MX 2004 9 22-11-2005 10:55
laufband suppi Flash MX 3 13-08-2004 22:01
Laufband DerBauer1234 Flash MX 5 17-10-2002 20:43
Laufband? armpit Flash 4 und Flash 5 3 10-09-2002 15:18
laufband mobro Flash 4 und Flash 5 1 26-07-2002 18:14


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele