Hey Cor This is a continuation from the thing you were looking on Sunday for me! I took your advice and re-wrote most of the code!
You will notice first time round it will trace all the correct info (5 image URLs) for the array but when you get to... trace("LOAD COMPLETE - "+ev.target.content.name); It will only trace out 4 objects! ----------------------------------------------------------- DynamicImage.... package { import flash.display.MovieClip; import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; public class DynamicImage extends MovieClip { private var _file:String; public function set file (filename:String):void { // This is the function to set the file name this._file = filename; loadImage(); ////////////////////////////////////////////////////////////// // Start of Class ////////////////////////////////////////////////////////////// } public function DynamicImage() { } private function loadImage():void { var imageLoader:Loader = new Loader(); // Set loader try { var imageURL:URLRequest = new URLRequest(this._file); // Set file name imageLoader.load (imageURL); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); trace("DI URL - "+this._file); } catch (err:Error) { trace("No files are loading - "+err); } } private function loadComplete(ev:Event):void { // Load image dynamicly trace("Image Being loaded"); this.addChild(ev.target.content); trace("LOAD COMPLETE - "+ev.target.content.name); } } } ----- Original Message ----- From: Cor To: 'Flash Coders List' Sent: Thursday, July 17, 2008 7:07 PM Subject: RE: [Flashcoders] AS3 - Problem with first item in Array What does your class DynamicImage look like? -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of SJM - Flash Sent: donderdag 17 juli 2008 19:08 To: Flash Coders List Subject: [Flashcoders] AS3 - Problem with first item in Array Hi Guys im having a bit of a nightmare with the first item in an array! For some reason when the flash file is first loaded it will not display any information related to the first item in the array! When the flash its reloaded it works fine! Any ideas? SJM ----------------------------------------------------------------- My code... package { import flash.events.*; import flash.display.MovieClip; import flash.display.DisplayObject; import flash.geom.Point; import fl.transitions.Tween; import fl.transitions.easing.*; import flash.filters.GlowFilter; import flash.net.URLRequest; import flash.net.navigateToURL; import flash.display.StageScaleMode; public class mainClass extends MovieClip { ////////////////////////////////////////////////////////////// // Vars and Arrays ////////////////////////////////////////////////////////////// public var imageHolder:MovieClip; public var containerX:Number = (stage.stageWidth / 5); public var imgArray:Array = new Array("uploads/images/dev_xantium.jpg", "uploads/images/dev_the-limes.jpg", "uploads/images/dev_richmond-grove.jpg", "uploads/images/dev_bridgewater-gardens.jpg", "uploads/images/dev_gransmoor-gardens.jpg"); public var linkArray:Array = new Array("xantium", "the-limes", "57-richmond-grove", "bridgewater-gardens", "gransmoor-gardens"); public var titleArray:Array = new Array("Xantium", "The Limes", "57 Richmond Grove", "Bridgewater Gardens", "Gransmoor Gardens"); public var mycontainer:Array = new Array(); public var imageMask:Array = new Array(); ////////////////////////////////////////////////////////////// // Start of mainClass ////////////////////////////////////////////////////////////// public function mainClass():void { for (var i:int = 0; i < 5; i++) { create_MCs(i, containerX, imgArray[i]); containerX += (stage.stageWidth / 5) - 46; } } ////////////////////////////////////////////////////////////// // Create MCs ////////////////////////////////////////////////////////////// public function create_MCs(number:int, x:int, imgURL:String) { trace(imgURL); // Create Container MC mycontainer[number] = new MovieClip(); addChild(mycontainer[number]); // Create new DynamicImage MC to hold loaded image imageHolder = new DynamicImage(); imageHolder.file = imgURL; mycontainer[number].addChild(imageHolder); // Create mask MC and set mask to loaded image imageMask[number] = new MovieClip(); imageMask[number].graphics.beginFill(0xFF0000); imageMask[number].graphics.drawRect(-40, 0, 80, 200); imageMask[number].graphics.endFill(); mycontainer[number].addChild(imageMask[number]); // Set mask to loaded image imageHolder.mask = imageMask[number]; // Set name for loaded image mycontainer[number].name = number; // Add listeners and button info mycontainer[number].addEventListener(MouseEvent.MOUSE_OVER, mOver); mycontainer[number].addEventListener(MouseEvent.MOUSE_OUT, mOut); mycontainer[number].addEventListener(MouseEvent.CLICK, mClick); mycontainer[number].mouseChildren = false; mycontainer[number].buttonMode = true; // Set new X/Y for main container mycontainer[number].y = 40; mycontainer[number].x = x; // Set new X/Y for DynamicImage (containing image) imageHolder.x = - 100; imageHolder.y = 0; // Set new X/Y for image mask imageMask[number].y = 0; // Apply outer glow to containers var outerGlow:GlowFilter = new GlowFilter(0x000000, // color:uint, 1, // alpha:Number 11.0, // blurX:Number 11.0, // blurY:Number 0.34, // strength:Number 3, // quality:int false, // inner:Boolean false); // knockout:Boolean mycontainer[number].filters = new Array(outerGlow); } ////////////////////////////////////////////////////////////// // Over/Out & Click Mouse events ////////////////////////////////////////////////////////////// public function mOver(ev:MouseEvent):void { var tweener = imageMask[ev.target.name]; var overTween:Tween = new Tween (tweener, // obj:Object "width", // prop:String Elastic.easeOut, // func:Function 80, // begin:Number 200, // finish:Number 2, // duration:Number true); // useSeconds:Boolean = false setChildIndex(mycontainer[ev.target.name], (numChildren - 1)); } public function mOut(ev:MouseEvent):void { var tweener = imageMask[ev.target.name]; var outTween:Tween = new Tween (tweener, "width", Elastic.easeOut, 200, 80, 2, true); } public function mClick ( ev:MouseEvent ):void { goGetURL("index.php?page="+linkArray[ev.target.name],""); } ////////////////////////////////////////////////////////////// // Useful functions - goGetURL ////////////////////////////////////////////////////////////// public function goGetURL(myurl:String,taarget:String):void { var url:String = myurl; var request:URLRequest = new URLRequest(url); try { navigateToURL(request, target); } catch (e:Error) { trace("Error occurred!"); } } } } _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders