Hallo zusammen,
ich habe eine Bildergallerie erstellt. Sie funktioniert soweit auch. Leider ist es aber so, dass wenn man das zweite Bild ladet, auf eine andere Seite wechselt und wieder zurück auf die Gallerie geht, das alte Bild noch immer zusehen ist. Das Bild wird per URLLoader geladen und einem Movieclip angehängt. Hier der Code:
Code:
import flash.display.MovieClip;
import flash.net.URLRequest;
import fl.controls.ProgressBar;
var loader:URLLoader = new URLLoader();
var loader2:Loader = new Loader();
//loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, reading);
loader.load(new URLRequest("gallery.txt"));
var position:int=0;
var picnr:int=0;
var gallerylength:int=0;
var bildEintrag:Array;
var picArray:Array = new Array();
var xSize:Array = new Array();
var ySize:Array = new Array();
var picx;
var picy;
this.addChild(movieclip);
this.setChildIndex(movieclip, 1);
var my_pb:ProgressBar = new ProgressBar();
my_pb.source = loader2.contentLoaderInfo;
my_pb.x = 425;
my_pb.y = 480;
//Lesen der Properties-Datei
function reading (event:Event):void {
var daten:String = loader.data;
daten = daten.split(" ").join("");
bildEintrag = daten.split("*");
var counter:int = 0;
for(var i:int=0; i<bildEintrag.length;i++){
trace("ccc" + i);
if(counter == 0){
picArray.push(bildEintrag[i]);
counter++;
}else if(counter == 1){
xSize.push(bildEintrag[i]);
counter++;
}else if(counter == 2){
ySize.push(bildEintrag[i]);
counter = 0;
}
}
gallerylength = bildEintrag.length/3;
trace(gallerylength);
importpic();
}
//Bilder laden
function importpic():void{
this.addChild(my_pb);
loader2.load(new URLRequest("bilder/" + picArray[position]));
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
}
//Bild bearbeiten und dem Movieclip hinzufügen
function onLoadComplete(event:Event):void{
trace("blub");
this.removeChild(my_pb);
//my_pb = null;
movieclip.addChild(loader2.content);
var picx:int = xSize[position];
var picy:int = ySize[position];
movieclip.width = int(picx);
movieclip.height = int(picy);
var middley:int = 480;
var middlex:int = 500;
movieclip.x = middlex-(picx/2);
movieclip.y = middley-(picy/2);
//trace("widthload: " + loader2.width);
//trace("widthload2: " + loader2.W);
//movieclip.width = 300;
//movieclip.height = 450;
}
b_weiter.addEventListener(MouseEvent.CLICK, gallerylistener);
b_zurueck.addEventListener(MouseEvent.CLICK, gallerylistener);
//Gallery-Fluss
function gallerylistener(e:MouseEvent):void{
movieclip.removeChild(movieclip.getChildAt(0));
if(e.target.name == "b_weiter"){
if (position < gallerylength-1) {
position++;
trace("pos "+position);
importpic();
//ausgabe_txt.text = bildTitel[bild][0];
}
else{
position = 0;
importpic();
}
}
else if(e.target.name == "b_zurueck"){
if (position > 0) {
position--;
trace("pos "+position);
importpic();
//ausgabe_txt.text = bildTitel[bild][0];
}
else {
position = gallerylength-1;
trace("pos "+position);
importpic();
//ausgabe_txt.text = bildTitel[bild][0];
}
}
}