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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-06-2008, 12:07   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Bildergalerie mit Flash und XML

Hallo,

verwende folgende Bildergalerie:
http://www.multimedia.de/artikel/313_1.php

Damit ist auch (fast) alles bestens.

Kann nur leider beim ersten Bild den "zurück" Button nicht ausblenden und beim letzten den "weiter" Button

Mir wär auch schon geholfen, wenn "weiter" beim letzten Bild wieder auf das erste zurück ginge.

Source-Code sieht so aus:

// XML-Objekt erzeugen (Bezeichner: mein_xml)
mein_xml = new XML();

// Störende Leerzeichen ignorieren
mein_xml.ignoreWhite = true;

// XML-Datei einlesen
mein_xml.load("wartung/bilder.xml");

// Lesevorgang
mein_xml.onLoad = function(status) {
if (status && this.loaded) {
anzahl = mein_xml.firstChild.childNodes.length;
geladen = true;
aktbild = 0;
ladeBild(aktBild);
}
};

// Funktion, welche die Daten der XML-Datei verarbeitet
function ladeBild(paktBild) {
status_mc._visible = 1;
bild = mein_xml.firstChild.childNodes[paktBild].attributes.pic;
bildname = mein_xml.firstChild.childNodes[paktBild].attributes.name;
loadMovie(bild, "bild_mc");
titel_txt.text = bildname;
}

// Weiter Schalter
weiter_btn.onRelease = function() {
if (geladen && aktbild<anzahl-1) {
aktbild++;
ladeBild(aktBild);
}
};

// Zurück Schalter
zuruck_btn.onRelease = function() {
if (geladen && aktbild>0) {
aktbild--;
ladeBild(aktBild);
}
};


Bitte, bitte, bitte um Hilfe, krieg's einfach nicht hin.

Danke,
Daniel

Geändert von flash707 (03-06-2008 um 12:20 Uhr)
flash707 ist offline   Mit Zitat antworten
Alt 03-06-2008, 12:30   #2 (permalink)
class public{}
 
Benutzerbild von public
 
Registriert seit: Feb 2004
Ort: dessau
Beiträge: 1.406
bitte verwende die code tags

PHP-Code:
// XML-Objekt erzeugen (Bezeichner: mein_xml)
mein_xml = new XML();

// Störende Leerzeichen ignorieren
mein_xml.ignoreWhite true;

// XML-Datei einlesen
mein_xml.load("wartung/bilder.xml");

// Lesevorgang
mein_xml.onLoad = function(status) {
if (
status && this.loaded) {
anzahl mein_xml.firstChild.childNodes.length;
geladen true;
aktbild 0;
ladeBild(aktBild);
}
};

// Funktion, welche die Daten der XML-Datei verarbeitet
function ladeBild(paktBild) {
status_mc._visible 1;
bild mein_xml.firstChild.childNodes[paktBild].attributes.pic;
bildname mein_xml.firstChild.childNodes[paktBild].attributes.name;
loadMovie(bild"bild_mc");
titel_txt.text bildname;
}

// Weiter Schalter
weiter_btn.onRelease = function() {
if (
geladen && aktbild<anzahl-1) {
aktbild++;
ladeBild(aktBild);
}
};

// Zurück Schalter
zuruck_btn.onRelease = function() {
if (
geladen && aktbild>0) {
aktbild--;
ladeBild(aktBild);
}
}; 
__________________
Ich kaufe ein 'A' und möchte lösen........'Bockwurst'!
public ist offline   Mit Zitat antworten
Alt 03-06-2008, 12:44   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
hi public,

danke für die schnelle antwort.

das ergebnis ist aber leider genau das gleiche :/

ich komme beim letzten bild mit klick auf den "weiter" button nicht wieder zum ersten bild :/

bin leider kein wirklicher programmierer... stehe einfach an

daniel
flash707 ist offline   Mit Zitat antworten
Alt 03-06-2008, 20:34   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Kann mir niemand hier helfen? :/
flash707 ist offline   Mit Zitat antworten
Alt 03-06-2008, 20:47   #5 (permalink)
Pixeldipaxeldipux
 
Benutzerbild von Ahrsib
 
Registriert seit: Dec 2002
Ort: Ruhrmetropole Essen
Beiträge: 7.589
Ich habe so gar keine Ahnung -
noch viel weniger als du -
und plapper mal so daher - okee?-)

Wenn der Weiterbutton beim letzten Bild
auf das Erste schalten soll, muss er wissen,
dass es das Letzte war - sonst schaltet der stoisch weiter,
auch wenn da nichts ist. Also müsste ihm jemand Bescheid geben,
wann der Ordnerinhalt durchgelaufen ist - oder?

Ahrsib
... fachsimpelt ohne Boden unter den Füßen.
__________________
Selbstgelerntes ist am Besten!

iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000
Achim ...Orient

Das Flashforum zu unterstützen ist ganz einfach!
Ahrsib ist offline   Mit Zitat antworten
Alt 03-06-2008, 21:03   #6 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Noch viel weniger ahnung glaub ich nicht

Irgendwie denk ich mir das so wie du, eine Schleife muss man einbaun, hat aber bisher nicht funktioniert... :/

Aber danke und schoenen Abend noch!
flash707 ist offline   Mit Zitat antworten
Alt 04-06-2008, 18:59   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Hallo liebe FF-Mitglieder,

hab leider noch immer keine Ahnung wie ich das erste Bild auf den letzten Button bringe :/

Kann mir vielleicht noch jemand einen Tipp geben. Wäre wirklich sehr sehr dankbar!!!

Jetzt schon DANKE und liebe Grüße,
Daniel
flash707 ist offline   Mit Zitat antworten
Alt 04-06-2008, 22:32   #8 (permalink)
Pixeldipaxeldipux
 
Benutzerbild von Ahrsib
 
Registriert seit: Dec 2002
Ort: Ruhrmetropole Essen
Beiträge: 7.589
Zitat:
Zitat von flash707 Beitrag anzeigen
Noch viel weniger ahnung glaub ich nicht ...
Ist aber so, außer meinem theoretischen Anspruchsdenken
habe ich keine Ahnung davon, wie es umzusetzen ist,
ich kann nur logisch konzeptionieren!-)

Gerade habe ich mir eine nach oben gespülte Galerie
aus dem FF-Freewarepool angesehen -
die hat das gleiche Problem wie du -
der letzte Klick läuft ins Leere.

Ahrsib
... kann schieben!
__________________
Selbstgelerntes ist am Besten!

iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000
Achim ...Orient

Das Flashforum zu unterstützen ist ganz einfach!
Ahrsib ist offline   Mit Zitat antworten
Alt 04-06-2008, 22:50   #9 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Hier mal ein Ansatz, allerdings musst du mit den Pfaden aufpassen, das kann ich nicht ausprobieren, ob die so passen, ohne das Teil nachzubauen:
PHP-Code:
// Funktion, welche die Daten der XML-Datei verarbeitet
function ladeBild(paktBild) {
    
status_mc._visible 1;
    
bild mein_xml.firstChild.childNodes[paktBild].attributes.pic;
    
bildname mein_xml.firstChild.childNodes[paktBild].attributes.name;
    
loadMovie(bild"bild_mc");
    
titel_txt.text bildname;

    
// letztes Bild?
    
weiter_btn._alpha = (paktBild == anzahl) ? 50 100;

    
// erstes Bild?
    
zurück_btn._alpha = (paktBild == 0) ? 50 100;

Die Schreibweise
bedingung ? wenn wahr : wenn falsch
heißt ternärer Konditionaloperator, und kann in einigen Fällen wie diesem einen if-else-Block sehr kompakt ersetzen, weiteres dazu findest du in der Flash-Hilfe.
Wenn die Buttons ganz unsichtbar sein sollen, kannst du auch _visible statt _alpha, und false statt 50 und true statt 100 verwenden.

EDIT:
Das ist jetzt nicht die Lösung bei der es beim ersten weiter geht, das wäre aber eigentlich auch nicht allzuschwer
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)

Geändert von Janoscharlipp (04-06-2008 um 22:53 Uhr)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 04-06-2008, 22:58   #10 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Hier mal noch ne Variante, bei der es immer im Kreis geht:
PHP-Code:
weiter_btn.onRelease = function() {
    if (
geladen) {
        
aktbild++;
        
ladeBild(aktBild);
    }
};

// Zurück Schalter
zuruck_btn.onRelease = function() {
    if (
geladen) {
        
aktbild--;
        
ladeBild(aktBild);
    }
};

function 
ladeBild(paktBild) {
    
// Unterlauf?
    
if (paktBild 0aktBild paktBild anzahl 1;
    
    
// Überlauf?
    
if (paktBild anzahlaktBild paktbild 0;

    
status_mc._visible 1;
    
bild mein_xml.firstChild.childNodes[paktBild].attributes.pic;
    
bildname mein_xml.firstChild.childNodes[paktBild].attributes.name;
    
loadMovie(bild"bild_mc");
    
titel_txt.text bildname;

Seinen Code nach geschweiften Klammern einzurücken erhöht übrigens die Lesbarkeit ungemein, und hilft Klammerfehler zu vermeiden.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 05-06-2008, 06:55   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Hallo Janoscharlipp,

vielen vielen Dank schon mal!!!

Ist fast perfekt.

Nur der "weiter" Button geht nach einem Durchlauf zuerst auf ein leeres Bild, erst dann wieder auf das erste eingegebene.

Ich glaub es muss ander Zeile liegen, oder?

// Überlauf?
if (paktBild > anzahl) aktBild = paktbild = 0;

Hab versucht die "0" auf "1" zu setzen, und einige Varianten mehr...
leider geht's so nicht.

Könntest du mir bitte hier noch helfen?

Danke,
Daniel
flash707 ist offline   Mit Zitat antworten
Alt 05-06-2008, 08:56   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Beiträge: 1
hi,
versuch mal:

// Weiter Schalter
weiter_btn.onRelease = function() {
if (geladen && aktbild<anzahl-1) {
aktbild++;
ladeBild(aktBild);
}else {
aktbild = 0;
ladeBild(aktBild);
}
};

// Zurück Schalter
zuruck_btn.onRelease = function() {
if (geladen && aktbild>0) {
aktbild--;
ladeBild(aktBild);
}else {
aktbild = anzahl-1;
ladeBild(aktBild);
}
};

es sollte klappen!
gruss
babakam ist offline   Mit Zitat antworten
Alt 05-06-2008, 17:09   #13 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Daaaaaaanke!!!

Hi babakam,

vielen vielen vielen DANK!!!

Es geht, genau so wie ich's wollte.

Hast mir wirklich sehr geholfen, auch die andren aus dem Forum, VIELEN DANK!!!

Tolles Forum,
Daniel
flash707 ist offline   Mit Zitat antworten
Alt 05-06-2008, 20:45   #14 (permalink)
Pixeldipaxeldipux
 
Benutzerbild von Ahrsib
 
Registriert seit: Dec 2002
Ort: Ruhrmetropole Essen
Beiträge: 7.589
Dass es eine if-Bedingung sein muss,
war mir von vornherein irgendwie bewusst,
aber schreiben kann ich solchen Code nicht,
wobei ich immer ganz baff bin,
dass ich das dann so einfach lesen kann, wie:

Zitat:
if (geladen && aktbild<anzahl-1) {
Da hätte ich jetzt was Anderes,
nicht so einfach Lesbares erwartet.

Zitat:
Zitat von flash707 Beitrag anzeigen
… Tolles Forum,
Daniel
Jepp! Das Beste!
You're welcome!

Ahrsib
... loves it, to be here!
__________________
Selbstgelerntes ist am Besten!

iMac G5/2,1GHz, 2,5GB RAM, 20" Widescreen (1680*1050), MacOS 10.4.11, Safari 4.1, dsl 6000
Achim ...Orient

Das Flashforum zu unterstützen ist ganz einfach!
Ahrsib ist offline   Mit Zitat antworten
Alt 05-06-2008, 20:50   #15 (permalink)
Neuer User
 
Registriert seit: Feb 2007
Beiträge: 11
Mir geht's ähnlich... lesen kann ich den Code halbwegs gut.

Aber selbst schrieben leider nicht..

Kann nur nochmals DANKE sagen
flash707 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 09:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele