Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-07-2010, 20:36   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 3
Bildergallerie unload bei Bildwechsel

Hallo liebe Community, beschäftige mich erst seit heute mit ActionScript und bin dabei ein Bildergallerie Tutorial umzubauen.

Es werden Thumbnails angezeigt, wenn man auf ein Thumbnail klickt öffnet sich die größere Ansicht. Ich will das Skript so umbauen das standardmäßig das 1. Bild angezeigt wird und wenn man auf ein anderes Thumbnail klickt das Bild wechselt.

Wie schaffe ich es, dass beim Bildwechsel das vorherige Bild entfernt wird. Bei mir werden die Bilder dann übereinander angezeigt.

Hier mein Quelltext:

Code:
var columns:Number;
var my_x:Number;
var my_y:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var my_images:XMLList;
var my_total:Number;
var container_mc:MovieClip;
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gallery.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML (e:Event):void{
	var myXML:XML = new XML(e.target.data);
	columns = myXML.@COLUMNS;
	my_x = myXML.@XPOSITION;
	my_y = myXML.@YPOSITION;
	my_thumb_width = myXML.@WIDTH;
	my_thumb_height = myXML.@HEIGHT;
	my_images = myXML.IMAGE;
	my_total = my_images.length();
	createContainer();
	callThumbs();
}

function createContainer():void{
	container_mc = new MovieClip();
	container_mc.x = my_x;
	addChild(container_mc)
	container_mc.addEventListener(MouseEvent.CLICK, callFull);
}

function callThumbs():void{
	for (var i:Number = 0; i < my_total; i++){
		var thumb_url = my_images[i].@THUMB;;
		var thumb_loader = new Loader();
		thumb_loader.load(new URLRequest(thumb_url));
		thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
		thumb_loader.name = i;
		thumb_loader.x = (my_thumb_width+10)*i;
		thumb_loader.y = 450;
	}
}

function thumbLoaded(e:Event):void{
	var my_thumb:Loader = Loader(e.target.loader);
	container_mc.addChild(my_thumb);
}

function callFull(e:MouseEvent):void {
var full_loader:Loader = new Loader();
var full_url = my_images[e.target.name].@FULL;
full_loader.load(new URLRequest(full_url));
full_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);


}

function fullLoaded(e:Event):void{
var my_loader:Loader = Loader(e.target.loader);
addChild(my_loader);
my_loader.x = (stage.stageWidth - my_loader.width)/2;
my_loader.y = 25;
my_loader.addEventListener(MouseEvent.CLICK,removeFull);
}

function removeFull(e:MouseEvent):void{
var my_loader_remove:Loader = Loader (e.currentTarget);
my_loader_remove.unload();
removeChild(my_loader_remove);

container_mc.addEventListener(MouseEvent.CLICK, callFull);

}
Und die XML-Datei:

Code:
<?xml version="1.0" encoding="utf-8"?>
<GALLERY COLUMNS="5" XPOSITION="30" YPOSITION="30" WIDTH="100" HEIGHT="100">
<IMAGE FULL="full_images/full1.jpg" THUMB="thumbs/thumb1.jpg" />
<IMAGE FULL="full_images/full2.jpg" THUMB="thumbs/thumb2.jpg" />
<IMAGE FULL="full_images/full3.jpg" THUMB="thumbs/thumb3.jpg" />
<IMAGE FULL="full_images/full1.jpg" THUMB="thumbs/thumb1.jpg" />
<IMAGE FULL="full_images/full2.jpg" THUMB="thumbs/thumb2.jpg" />
<IMAGE FULL="full_images/full3.jpg" THUMB="thumbs/thumb3.jpg" />
<IMAGE FULL="full_images/full1.jpg" THUMB="thumbs/thumb1.jpg" />
<IMAGE FULL="full_images/full2.jpg" THUMB="thumbs/thumb2.jpg" />
<IMAGE FULL="full_images/full3.jpg" THUMB="thumbs/thumb3.jpg" />
<IMAGE FULL="full_images/full1.jpg" THUMB="thumbs/thumb1.jpg" />
<IMAGE FULL="full_images/full2.jpg" THUMB="thumbs/thumb2.jpg" />
<IMAGE FULL="full_images/full3.jpg" THUMB="thumbs/thumb3.jpg" />
<IMAGE FULL="full_images/full1.jpg" THUMB="thumbs/thumb1.jpg" />
<IMAGE FULL="full_images/full2.jpg" THUMB="thumbs/thumb2.jpg" />
</GALLERY>
Vielen dank schonmal für eure Hilfe

Markus
markus_rgbg ist offline   Mit Zitat antworten
Alt 19-07-2010, 12:17   #2 (permalink)
öcher flasher
 
Benutzerbild von rady
 
Registriert seit: Feb 2008
Beiträge: 266
Hi,

speicher einfach das geladene Bild in einer Variable ab und wenn dann auf ein anderes Thumbnail geklickt wird, entfernt du das Bild.

ActionScript:
  1. var currentLoader:Loader;
  2.  
  3.  
  4. function fullLoaded(e:Event):void{
  5. //überprüfe ob ein Bild bereits geladen ist, wenn ja dann lösche es, wenn nicht, dann mach nix
  6. if(currentLoader) removeChild = currentLoader;
  7. var my_loader:Loader = Loader(e.target.loader);
  8. addChild(my_loader);
  9. my_loader.x = (stage.stageWidth - my_loader.width)/2;
  10. my_loader.y = 25;
  11. my_loader.addEventListener(MouseEvent.CLICK,removeFull);
  12.  
  13. //speicher das geladene Bild ab
  14. currentLoader = my_loader;
  15. }
rady ist offline   Mit Zitat antworten
Alt 28-07-2010, 11:13   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 3
Danke für die schnelle Antwort. Hat natürlich super funktioniert
markus_rgbg ist offline   Mit Zitat antworten
Alt 28-07-2010, 11:34   #4 (permalink)
öcher flasher
 
Benutzerbild von rady
 
Registriert seit: Feb 2008
Beiträge: 266
Ich sehe gerade in meinen Code, dass ich Blödsinn geschrieben habe.

ActionScript:
  1. //falsch
  2. if(currentLoader) removeChild = currentLoader;
  3.  
  4. //richtig
  5. if(currentLoader) removeChild(currentLoader);

wie ich auf sowas komme.....
rady ist offline   Mit Zitat antworten
Alt 28-07-2010, 12:27   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2010
Beiträge: 3
das hab ich selber noch geschafft trotzdem danke!
markus_rgbg ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bildergallerie, unload

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
Bildwechsel Marcel.K. ActionScript 2 0 20-10-2009 14:05
Bildwechsel Dyvor Flash MX 2004 2 04-08-2005 09:49
bildwechsel donald duck ActionScript 1 1 20-10-2004 20:58
Bildwechsel Uwe1 Flash 4 und Flash 5 10 15-12-2003 11:33
Bildwechsel ?? anvo Flash MX 10 08-01-2003 17:31


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele