Many thanks to any and all who respond!! I'm at the extent of my AS skills.
I'd like to make the following image slide show display like it does,
sequentially, as well as making it display random. Anyone know how I can do
that? I've included the code I have working now. Text and image are
displaying fine. I've tried adding a ramdom order, but it breaks the
image/description tie. Again, many thanks to all help...

AS Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var my_speed:Number;
var my_total:Number;
var my_images:XMLList;

var my_loaders_array:Array=[];
var my_labels_array:Array=[];
var my_success_counter:Number=0;
var my_playback_counter:Number=0;

var my_slideshow:Sprite = new Sprite();
var my_image_slides:Sprite = new Sprite();
var my_label_slides:Sprite = new Sprite();
var my_preloader:TextField;

var my_timer:Timer;
var my_prev_tween:Tween;
var my_tweens_array:Array=[];

var myFont = new Font1();
var myFormat:TextFormat = new TextFormat();
myFormat.size = 16;
myFormat.font = myFont.fontName;


var my_xml_loader:URLLoader = new URLLoader();
my_xml_loader.load(new URLRequest("offices.xml"));
my_xml_loader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void {
var my_xml:XML=new XML(e.target.data);
my_speed = my_xml.@SPEED;
my_images = my_xml.IMAGE;
my_total = my_images.length();

loadImages();

my_xml_loader.removeEventListener(Event.COMPLETE, processXML);
my_xml_loader=null;
}

function loadImages():void {
for (var i:Number = 0; i < my_total; i++) {
var my_url:String=my_images[i].@SRC;
var my_loader:Loader = new Loader();
my_loader.load(new URLRequest(my_url));
my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
my_loaders_array.push(my_loader);

var my_label:TextField = new TextField();
my_label.defaultTextFormat = myFormat;
my_label.text=my_images[i].@DESC;
my_label.autoSize=TextFieldAutoSize.CENTER;

my_label.textColor = 000000;
my_labels_array.push(my_label);

}

my_preloader = new TextField();
my_preloader.text="Loading";
my_preloader.autoSize=TextFieldAutoSize.CENTER;
// my_preloader.x = (stage.stageWidth - my_preloader.width)/2;
// my_preloader.y = (stage.stageHeight - my_preloader.height)/2;
addChild(my_preloader);

}

function onComplete(e:Event):void {

my_success_counter++;
if (my_success_counter==my_total) {
startShow();
}

var my_loaderInfo:LoaderInfo=LoaderInfo(e.target);
my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete);

}

function startShow():void {

removeChild(my_preloader);
my_preloader=null;

addChild(my_slideshow);
my_slideshow.addChild(my_image_slides);
my_slideshow.addChild(my_label_slides);

nextImage();

my_timer=new Timer(my_speed*1000);
my_timer.addEventListener(TimerEvent.TIMER, timerListener);
my_timer.start();

}

function nextImage():void {

var my_image:Loader=Loader(my_loaders_array[my_playback_counter]);
my_image_slides.addChild(my_image);
// my_image.x = (stage.stageWidth - my_image.width)/2;
// my_image.y = (stage.stageHeight - my_image.height)/2;
my_tweens_array[0]=new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true);

var my_label:TextField=TextField(my_labels_array[my_playback_counter]);
my_label_slides.addChild(my_label);
my_label.x = (stage.stageWidth - my_label.width)/2;
my_label.y = 155;
my_tweens_array[1]=new Tween(my_label,"alpha",Strong.easeOut,0,1,1,true);

}

function timerListener(e:TimerEvent):void {

hidePrev();

my_playback_counter++;
if (my_playback_counter==my_total) {
my_playback_counter=0;
}
nextImage();

}

function hidePrev():void {

var my_image:Loader=Loader(my_image_slides.getChildAt(0));
my_prev_tween=new Tween(my_image,"alpha",Strong.easeOut,1,0,1,true);
my_prev_tween.addEventListener(TweenEvent.MOTION_FINISH, onFadeOut);

var my_label:TextField=TextField(my_label_slides.getChildAt(0));
my_tweens_array[2]=new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true);

}

function onFadeOut(e:TweenEvent):void {
my_image_slides.removeChildAt(0);
my_label_slides.removeChildAt(0);
}

Part of XML:
<?xml version="1.0" encoding="utf-8"?>
<SLIDESHOW SPEED="2">
<IMAGE SRC="images1.jpg" DESC="Rome"/>
<IMAGE SRC="images2.jpg" DESC="Paris"/>
<IMAGE SRC="images3.jpg" DESC="Cairo"/>
<IMAGE SRC="images4.jpg" DESC="London"/>
<IMAGE SRC="images5.jpg" DESC="New Yor City"/>
</SLIDESHOW>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to