Christopher, Here is a suggested edit of your original 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 rArr:Array = [];//khr 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(); myFormat.font = myFont.fontName; myFormat.color = 0xFF0000; myFormat.size = 16; 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); //khr var len:uint = my_loaders_array.length; for(var i:uint = 0;i < len;i++){ var my_image:Sprite = new Sprite(); my_image.visible = false; my_image.alpha = 0; //var bm_image:DisplayObject = my_loaders_array[i].contentLoaderInfo.content; my_image.addChild(my_loaders_array[i].contentLoaderInfo.content); my_image_slides.addChild(my_image); var my_label:TextField = TextField(my_labels_array[i]); my_label.x = (stage.stageWidth - my_label.width)/2; my_label.y = 155; my_image.addChild(my_label); rArr[i] = i; } trace("rArr =",rArr); rArr = arrayShuffle(rArr); trace("rArr =",rArr); // nextImage(); my_timer = new Timer(my_speed * 1000); my_timer.addEventListener(TimerEvent.TIMER, timerListener); my_timer.start(); } function arrayShuffle(arr:Array):Array{ var arr2:Array = []; while (arr.length > 0) { arr2.push(arr.splice(Math.round(Math.random() * (arr.length - 1)), 1)[0]); } return arr2; } function nextImage():void { //my_playback_counter = Math.floor(Math.random() * (my_image_slides.numChildren - 1)); //trace("\nnextImage() my_playback_counter =",my_playback_counter,rArr[my_playback_counter]); var sprite:Sprite = my_image_slides.getChildAt(rArr[my_playback_counter]) as Sprite; sprite.alpha = 0; sprite.visible = true; my_tweens_array[0] = new Tween(sprite,"alpha",Strong.easeOut,0,1,1,true); /* 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[rArr[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(); //trace("\nmy_loaders_array.length =",my_loaders_array.length); //my_playback_counter = Math.floor(Math.random() * (my_loaders_array.length - 1)); //trace("\nmy_playback_counter =",my_playback_counter); my_playback_counter++; if (my_playback_counter == my_total) { my_playback_counter = 0; } nextImage(); } function hidePrev():void { var mc:DisplayObject = my_image_slides.getChildAt(rArr[my_playback_counter]); my_prev_tween = new Tween(mc,"alpha",Strong.easeOut,1,0,1,true); my_prev_tween.addEventListener(TweenEvent.MOTION_FINISH, onFadeOut); /* 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(rArr[my_playback_counter])); my_tweens_array[2] = new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true); */ } function onFadeOut(e:TweenEvent):void { trace("\nonFadeOut::",e.currentTarget.obj); e.currentTarget.obj.visible = false; //my_image_slides.removeChildAt(0); //my_label_slides.removeChildAt(0); } Regards, Keith Reinfeld Home Page: http://keithreinfeld.home.comcast.net _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders