Adobe Flash [AS3] Ein- und Ausfaden von Fotos in XML Fotogalerie

hightime-fan

hightime-fan

Aktives Mitglied
Thread Starter
Dabei seit
06.08.2007
Beiträge
716
Reaktionspunkte
29
Hallo liebe MacUsers,

folgendes: ich habe mithilfe eines im Internet gefundenen Tutorials eine Fotogalerie aufgebaut. Das Problem war jedoch dass, ich den vorgegebenen Code verändern musste damit die Galerie auch so funktioniert wie ich sie haben wollte.
Nun wollte ich der Galerie ein Aus- und Einfaden hinzufügen damit der Übergang etwas besser ausschaut. Da ich aber den ActionScript Code des Tutorials verändern musste, hab ich nun ein Problem mit dem Ausfaden..

Vielleicht ist ja ein Flasher unter euch der mir zeigen kann wie ich das hinbekomme, dass die Fotos ausgefadet werden (Einfaden funktioniert)? :)

Hier mein Code (wenn nötig lade ich auch gerne noch die FLA hoch):

Code:
/////////////////////
// Import Classes //
///////////////////

import fl.controls.ProgressBar;

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

//////////////////////////////////////////////////////
// Loading the XML File and setting variables //
////////////////////////////////////////////////////

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)
	
	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 preloaders_mc:MovieClip;
	
	var x_counter:Number = 0;
	var y_counter:Number = 0;

	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();
		
		}
	

///////////////////////////////////////////
// Creating Container MC for the Thumbs //
/////////////////////////////////////////

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

//////////////////////////////////////////
// Loading and positionning the Thumbs //
////////////////////////////////////////

// Giving them names
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;
		
		//positionning the thumbs
		thumb_loader.x = (my_thumb_width+10)*x_counter;
		thumb_loader.y = (my_thumb_height+10)*y_counter;
		
		if (x_counter+1 < columns){
		x_counter++;
		} else {
		x_counter = 0;
		y_counter++;
		}
		
		var preloader_pb:ProgressBar = new ProgressBar();
		preloader_pb.source = thumb_loader.contentLoaderInfo;
		preloader_pb.x = thumb_loader.x;
		preloader_pb.y = thumb_loader.y;
		preloader_pb.width = my_thumb_width;
		preloader_pb.height = my_thumb_height;
		preloaders_mc.addChild(preloader_pb);
		
		preloader_pb.addEventListener(Event.COMPLETE, donePb);
		
	}
}
// Loading my_thumb into the container_mc
function thumbLoaded(e:Event):void{
	var my_thumb:Loader = Loader(e.target.loader);
	container_mc.addChild(my_thumb);

	new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);
}


///////////////////////////////
// Loading the full images //
/////////////////////////////

var full_loader:Loader = new Loader();
full_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);
addChild(full_loader);

 
function callFull(e:MouseEvent):void{
 
    var full_url = my_images[e.target.name].@FULL;
    full_loader.load(new URLRequest(full_url));     //loader arbeite
	
	var full_pb:ProgressBar = new ProgressBar();
	full_pb.source = full_loader.contentLoaderInfo;
	full_pb.x = (holder_mc.width - full_pb.width)/2; 
	full_pb.y = 110 + (holder_mc.height - full_pb.height)/2;
	preloaders_mc.addChild(full_pb);

	full_pb.addEventListener(Event.COMPLETE, donePb);

        
}
 
function fullLoaded(e:Event):void{
 
    //loader für neuen inhalt einrichten
    full_loader.x = (holder_mc.width - full_loader.width)/2; 
    full_loader.y = 110 + (holder_mc.height - full_loader.height)/2;
    new Tween(full_loader, "alpha", Strong.easeIn, 0,1,0.5, true);
 
} 


////////////////////////
// Preloading Thumbs //
//////////////////////

function donePb (e:Event):void{
var my_pb:ProgressBar = ProgressBar(e.target);
preloaders_mc.removeChild(my_pb);
}

}

mfG

Hightime :)
 
Hi

Poste doch mal den Rest deines AS Scripte. So ist das ganze etwas undurchsichtig.
 
Zurück
Oben Unten