Hallo,
Ich möchte eine Bildergalerie bauen, welche vom Prinzip genauso aufgebaut ist wie die yugop-slideshow. Dazu habe ich auch schon jede Menge beispielscripte bzw. tutorials gelesen. Eines hatten die Tutorials und die Beispielscripte alle gemeinsam: Die Bilder waren alle fix im Flash eingebunden. Ich versuche mich gerade an einer Variante wo die Bilder per XML übergeben werden und habe, wie sollte es auch anders sein, damit meine Probleme.
Das einzige was ich auf der Bühne habe ist der Preloader für die XML Datei und die Bilder bzw. die dazugehörigen Statusscreens.
Alles andere soll oder muss ja im Action Script passieren.
Zum Laden der XML Daten verwende ich folgendes Script:
Das funktioniert auch wunderbar.
Zum Ausprobieren und weils alles derzeit bei mir local auf der Platte liegt habe ich noch keinen Preloader für die Bilder implementiert. daher gehe ich direkt zu meinem eigentlichen Problem.
Hier passiert jetzt folgendes:
der MC mcFilm wird anstandslos erzeugt und ist per Maus auch schon bewegbar. Links und Rechts von mcFilm sollten aber die duplikate auftauchen. Und zwar um die breite des Films versetzt. Zum debuggen habe ich versucht die x position des MCs mcFilm_l per trace() anzeigen zu lassen. hier kommt jedoch undefined.
Heisst das jetzt das die duplizierten MCs nicht existieren. Oder wo liegt der Fehler in diesem Script.
Was ich noch während ich hier schreibe festgestellt habe das this.mcFilm.width bzw. this.mcFilm._width 0 ergibt.
Kann mir hier bitte jemand helfen?
Grüße aus der schönen Oberpfalz
Thoralf
Ich möchte eine Bildergalerie bauen, welche vom Prinzip genauso aufgebaut ist wie die yugop-slideshow. Dazu habe ich auch schon jede Menge beispielscripte bzw. tutorials gelesen. Eines hatten die Tutorials und die Beispielscripte alle gemeinsam: Die Bilder waren alle fix im Flash eingebunden. Ich versuche mich gerade an einer Variante wo die Bilder per XML übergeben werden und habe, wie sollte es auch anders sein, damit meine Probleme.
Das einzige was ich auf der Bühne habe ist der Preloader für die XML Datei und die Bilder bzw. die dazugehörigen Statusscreens.
Alles andere soll oder muss ja im Action Script passieren.
Zum Laden der XML Daten verwende ich folgendes Script:
PHP:
// XML Laden
var anzLadeversuche:Number = 0;
var maxLadeversuche:Number = 3;
var thePics:Array = new Array();
var mcFilmBreite:Number = 0;
var myLoader:XML = new XML();
var mySource:String = "XmlFileList.php";
myLoader.ignoreWhite = true;
myLoader.load(mySource);
myLoader.onLoad = function() {
anzLadeversuche++;
if(myLoader.loaded) {
var theData:Array = myLoader.firstChild.childNodes;
for(var i:Number=0; i < theData.length; i++) {
thePics[i] = new Object();
thePics[i].src = theData[i].attributes.src;
var picBreite:Number = parseInt(theData[i].attributes.width);
thePics[i].breite = picBreite;
mcFilmBreite += picBreite;
}
gotoAndStop("BilderLaden");
} else {
if(anzLadeversuche < maxLadeversuche) {
myLoader.load(mySource);
} else {
gotoAndStop("DateilisteLadenFehler");
}
}
}
stop();
Das funktioniert auch wunderbar.
Zum Ausprobieren und weils alles derzeit bei mir local auf der Platte liegt habe ich noch keinen Preloader für die Bilder implementiert. daher gehe ich direkt zu meinem eigentlichen Problem.
PHP:
stop();
var abstand:Number = 0;
this.createEmptyMovieClip("mcFilm", this.getNextHighestDepth());
for(var i:Number=0; i < thePics.length; i++) {
mcFilm.createEmptyMovieClip("mcPic"+i, i);
this.mcFilm["mcPic"+i].loadMovie("Images/galerie/"+ thePics[i].src);
this.mcFilm["mcPic"+i]._x = abstand;
abstand += thePics[i].breite;
}
mcFilm.duplicateMovieClip("mcFilm_l", this.getNextHighestDepth());
mcFilm.duplicateMovieClip("mcFilm_r", this.getNextHighestDepth());
this.mcFilm_l._x -= this.mcFilm.width;
this.mcFilm_r._x += this.mcFilm.width;
trace(abstand);
trace(this.mcFilm_l._x);
_root.onEnterFrame = function () {
if (_xmouse < 400) mcFilm._x += (450-_xmouse)*0.2;
if (_xmouse > 500) mcFilm._x += (450-_xmouse)*0.2;
mcFilm_r._x = mcFilm._x+mcFilm._width;
mcFilm_l._x = mcFilm._x-mcFilm._width;
if (mcFilm._x > 900+mcFilm._width*0.5) {
mcFilm._name = "temp";
mcFilm_l._name = "mcFilm";
temp._name = "mcFilm_l";
}
if (mcFilm._x < 0-mcFilm._width*0.5){
mcFilm._name = "temp";
mcFilm_r._name = "mcFilm";
temp._name = "mcFilm_r";
}
}
Hier passiert jetzt folgendes:
der MC mcFilm wird anstandslos erzeugt und ist per Maus auch schon bewegbar. Links und Rechts von mcFilm sollten aber die duplikate auftauchen. Und zwar um die breite des Films versetzt. Zum debuggen habe ich versucht die x position des MCs mcFilm_l per trace() anzeigen zu lassen. hier kommt jedoch undefined.
Heisst das jetzt das die duplizierten MCs nicht existieren. Oder wo liegt der Fehler in diesem Script.
Was ich noch während ich hier schreibe festgestellt habe das this.mcFilm.width bzw. this.mcFilm._width 0 ergibt.
Kann mir hier bitte jemand helfen?
Grüße aus der schönen Oberpfalz
Thoralf