Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-06-2004, 10:17   #1 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
XML Bildergalerie - xmldatei ersetzen

Hallo,

und zwar habe ich eine Bildergalerie die aus einer XML Datei die bilder in flash einließt.

hier mein AS:

ActionScript:
  1. _global.xmldatei = "bilder.xml";
  2. // -----------------------------
  3. // ----- XML - Bilder einlesen
  4. // ----- Variablenübergabe
  5. // -----------------------------
  6. theXML = new XML();
  7. theXML.ignoreWhite = false;
  8. theXML.load(xmldatei);
  9. abstand = 5;
  10. pos = 0;
  11. newthis = this;
  12. // ------------------------------------------------------------------
  13. theXML.onLoad = function() {
  14.     alles = theXML["root"].childNodes.length/2;
  15.     for (i=1; i<=alles; i++) {
  16.         breite = theXML['bild'+i].attributes.breite;
  17.         laenge_von_slide += breite;
  18.         laenge_von_slide += 5;
  19.         hohe = theXML['bild'+i].attributes.hohe;
  20.         trace(breite);
  21.         grund = newthis.createEmptyMovieClip("akt_"+i, i);
  22.         aktbild = grund.createEmptyMovieClip("bild_"+i, 1);
  23.         aktbild.loadMovie(theXML['bild'+i].attributes.thumb);
  24.         aktpress = grund.createEmptyMovieClip("bild_ausw_button_"+i, 10);
  25.         aktpress.lineStyle(1, 0x666666, 100);
  26.         aktpress._moveTo(0, 0);
  27.         aktpress.beginfill(0x000000, 0);
  28.         aktpress.lineTo(0, hohe);
  29.         aktpress.lineTo(breite, hohe);
  30.         aktpress.lineTo(breite, 0);
  31.         aktpress.lineTo(0, 0);
  32.         aktpress.endFill();
  33.         aktpress.normal = theXML['bild'+i].attributes.normal;
  34.         trace(pos);
  35.         grund._x = pos;
  36.         trace(pos);
  37.         pos = Number(breite)+pos+abstand;
  38.         trace(pos);
  39.         aktpress.onPress = function() {
  40.             removeMovieClip("bildgros");
  41.             bild = _root.createEmptyMovieClip("bildgros", 100);
  42.             bild.loadMovie(this.normal);
  43.             bild.onPress = function() {
  44.                 removeMovieClip("bildgros");
  45.             };
  46.             bild._x = 0;
  47.             bild._y = 100;
  48.         };
  49.     }
  50. };



funzt so weit wunderbar.
Nun meine Frage - ich habe eine navigation mit ein paar buttons.
Auf denen liegt folgendes as:


ActionScript:
  1. on(Release) {
  2.     _global.xmldatei = "bilder.xml";
  3. }
  4.  
  5. und button 2
  6.  
  7. on(Release) {
  8.     _global.xmldatei = "bilder2.xml";
  9. }


soderle sollte doch eigentlich so gehen oder?
Bzw. muss ich irgendwas aktuallisieren.

Ne ahnung warum das so nicht läuft? Also wenn ich den einen button anklicke soll anstatt bilder.xml - bilder2.xml hineeingeladen werden.
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 01-06-2004, 10:39   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

also erstmal heißt es
ActionScript:
  1. on(release)

dann sagst du ja nur das die variable

_global.xmldatei = "bilder.xml"; oder
_global.xmldatei = "bilder2.xml";

heißen soll.

du solltest den ladevorgang in eine funktion legen z.B.:
ActionScript:
  1. function bilder_laden(){
  2. theXML = new XML();
  3. theXML.ignoreWhite = false;
  4. theXML.load(xmldatei);
  5. abstand = 5;
  6. pos = 0;
  7. newthis = this;
  8. // ------------------------------------------------------------------
  9. theXML.onLoad = function() {
  10.         alles = theXML["root"].childNodes.length/2;
  11.         for (i=1; i<=alles; i++) {
  12.                 breite = theXML['bild'+i].attributes.breite;
  13.                 laenge_von_slide += breite;
  14.                 laenge_von_slide += 5;
  15.                 hohe = theXML['bild'+i].attributes.hohe;
  16.                 trace(breite);
  17.                 grund = newthis.createEmptyMovieClip("akt_"+i, i);
  18.                 aktbild = grund.createEmptyMovieClip("bild_"+i, 1);
  19.                 aktbild.loadMovie(theXML['bild'+i].attributes.thumb);
  20.                 aktpress = grund.createEmptyMovieClip("bild_ausw_button_"+i, 10);
  21.                 aktpress.lineStyle(1, 0x666666, 100);
  22.                 aktpress._moveTo(0, 0);
  23.                 aktpress.beginfill(0x000000, 0);
  24.                 aktpress.lineTo(0, hohe);
  25.                 aktpress.lineTo(breite, hohe);
  26.                 aktpress.lineTo(breite, 0);
  27.                 aktpress.lineTo(0, 0);
  28.                 aktpress.endFill();
  29.                 aktpress.normal = theXML['bild'+i].attributes.normal;
  30.                 trace(pos);
  31.                 grund._x = pos;
  32.                 trace(pos);
  33.                 pos = Number(breite)+pos+abstand;
  34.                 trace(pos);
  35.                 aktpress.onPress = function() {
  36.                         removeMovieClip("bildgros");
  37.                         bild = _root.createEmptyMovieClip("bildgros", 100);
  38.                         bild.loadMovie(this.normal);
  39.                         bild.onPress = function() {
  40.                                 removeMovieClip("bildgros");
  41.                         };
  42.                         bild._x = 0;
  43.                         bild._y = 100;
  44.                 };
  45.         }
  46. };
  47.  
  48.  
  49.  
  50.  
  51.  
  52. }

dann brauchst du bei den buttons nur noch

button 1:

ActionScript:
  1. on(release) {
  2.         _global.xmldatei = "bilder.xml";
  3. bilder_laden();
  4. }

button 2:

ActionScript:
  1. on(release) {
  2.         _global.xmldatei = "bilder2.xml";
  3. bilder_laden();
  4. }

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 01-06-2004, 11:04   #3 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
*am kopf kratz*
on(Release) == on(release) *g*

auch egal danke für deine antwort. stimmt schon.

Funzt aber leider nicht so - weiss au net warum.
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 01-06-2004, 11:11   #4 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hmmm...

funzt nur das umschalten von der ersten zur zweiten nicht oder gar nix?


gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 01-06-2004, 11:15   #5 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
gar nix komischer weise.

standardmäßig sollte ja xmldatei geladen werden als erstes

global.xmldatei = "bilder.xml";

Tja tuts aber nicht irgendwie. Per Buttonklick passiert leider au nix...
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 01-06-2004, 11:56   #6 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
nur kurz überflogen...

die sache mit der funktion ist richtig,
ich würde das load nach der definition des
onload setzen, wird denn das onload ausgelöst ?
weiterhin:

ignoreWhite=false... warum das ?

und das _global vor dem xmldatei im load
kann sicher auch nicht schaden.
warrantmaster ist offline   Mit Zitat antworten
Alt 01-06-2004, 12:15   #7 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
... haste deine xml-files schonmal validiert?

hier nen link:

xml-validator

wenns da keine fehler gibt müssen wir nochmal schauen...

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 01-06-2004, 12:42   #8 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
ah hi warrent
na alles fit? scho lang nix mehr von dir gehört!

werd mal gleich das alles ausprobieren.

meld mich nochmal obs funzt oder nicht.
danke schonmal an euch
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 01-06-2004, 13:26   #9 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
hat sich nix geändert - leider.

XML passt an sich - kam auch keine fehlermeldung.
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 01-06-2004, 13:45   #10 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
...vesuchs mal nochmal so:

ActionScript:
  1. _global.function bilder_laden(file) {
  2.     theXML = new XML();
  3.     theXML.ignoreWhite = false;
  4.     theXML.load(file);
  5.     abstand = 5;
  6.     pos = 0;
  7.     newthis = this;
  8.     // ------------------------------------------------------------------
  9.     theXML.onLoad = function() {
  10.         alles = theXML["root"].childNodes.length/2;
  11.         for (i=1; i<=alles; i++) {
  12.             breite = theXML['bild'+i].attributes.breite;
  13.             laenge_von_slide += breite;
  14.             laenge_von_slide += 5;
  15.             hohe = theXML['bild'+i].attributes.hohe;
  16.             trace(breite);
  17.             grund = newthis.createEmptyMovieClip("akt_"+i, i);
  18.             aktbild = grund.createEmptyMovieClip("bild_"+i, 1);
  19.             aktbild.loadMovie(theXML['bild'+i].attributes.thumb);
  20.             aktpress = grund.createEmptyMovieClip("bild_ausw_button_"+i, 10);
  21.             aktpress.lineStyle(1, 0x666666, 100);
  22.             aktpress._moveTo(0, 0);
  23.             aktpress.beginfill(0x000000, 0);
  24.             aktpress.lineTo(0, hohe);
  25.             aktpress.lineTo(breite, hohe);
  26.             aktpress.lineTo(breite, 0);
  27.             aktpress.lineTo(0, 0);
  28.             aktpress.endFill();
  29.             aktpress.normal = theXML['bild'+i].attributes.normal;
  30.             trace(pos);
  31.             grund._x = pos;
  32.             trace(pos);
  33.             pos = Number(breite)+pos+abstand;
  34.             trace(pos);
  35.             aktpress.onPress = function() {
  36.                 removeMovieClip("bildgros");
  37.                 bild = _root.createEmptyMovieClip("bildgros", 100);
  38.                 bild.loadMovie(this.normal);
  39.                 bild.onPress = function() {
  40.                     removeMovieClip("bildgros");
  41.                 };
  42.                 bild._x = 0;
  43.                 bild._y = 100;
  44.             };
  45.         }
  46.     };
  47. }

button1:

ActionScript:
  1. on(release) {
  2.         bilder_laden( "bilder.xml");
  3. }

button2:

ActionScript:
  1. on(release) {
  2.         bilder_laden( "bilder2.xml");
  3. }

wenn das nicht geht... hmmmm.

haste die funktion einfach mal so auf nem frame aufgerufen?(ohne buttons)



gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two 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 13:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele