Mike, I know Steven & others have already responded to your question, but as it happens I just posted the source code of an app that (I think) does what you're looking for. It's one step more complex than you asked for - it actually creates multiple scrolling lists inside an Accordion (thereby breaking the Accordion - but that's a separate issue :-)
Anyway, the app loads images and text via XML and puts the images in a horizontal scroll pane - and this aspect of the app works fine. You could easily strip out the Accordion and related code, and use this as a guide: http://robsondesign.com/etc/flashcoders/scroller_in_accordion/scroller_in_ac cordion.zip -Jim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Dunlop Sent: Tuesday, December 12, 2006 4:05 PM To: Flashcoders mailing list Subject: RE: [Flashcoders] loading thumbnails into a scrollable box via AS Wow!! Steven, thanx so much!! I will give this a shot and let you know how it worked out. Thanks again for taking the time to write all this out :) Best, Mike D ....................... Mike Dunlop // Droplab [ e ] [EMAIL PROTECTED] > First, break it up into different pieces. The first piece is the XML > parsing, the second piece is drawing the thumbnails, and the third > piece is scrolling the thumbnails. I'll leave the XML parsing out of > this and focus on drawing the thumbnails. > > Here's the most straightforward way to do this. We could do it all > with code but let's mix it up a little since it's your first time. > > 1) Make an empty movie clip. Name it MC_Empty. > > 2) Draw a 50x50 pixel red square on the stage. Delete the border. > Select the square and hit F8. Name it MC_Square. > > 3) Make two layers in the timeline. Name the top layer MC_Mask and > name the bottom layer MC_Container. > > 4) Put MC_Square on the MC_Mask layer and name it MC_Mask. > > 5) Put MC_Empty on the MC_Container layer and name it MC_Container. > > 6) Resize MC_Mask to whatever size you want the visible area to be. > > 7) Turn the MC_Mask layer into a Mask. It should automatically mask > MC_Container. > > 8) Now that your timeline is set up it's time to write some code. > > I'm going to use some arbitrary values here for example. Season to > taste. > > > var imageArray:Array = parsedXmlImageArray; // Set these values var > visibleRows:Number = 5; var visibleCols:Number = 4; var gutter:Number > = 10; > > // These are set based on what you set above var colWidth:Number = > (MC_Mask._width / visibleCols); var rowHeight:Number = > (MC_Mask._height / visibleRows); var thumbWidth:Number = colWidth - > gutter; var thumbHeight:Number = rowHeight - gutter; var rows:Number; > var cols:Number; > > function draw() { > rows = 0; > cols = 0; > MC_Container.thumbs.removeMovieClip(); > MC_Container.createEmptyMovieClip("thumbs", 10); > var i:Number = imageArray.length; > while (i--) { > var mc:MovieClip = MC_Container.thumbs.createEmptyMovieClip("item" > + i, i); > mc._x = cols * colWidth; > mc._y = rows * rowHeight; > mc.createEmptyMovieClip("img", 10); > mc._visible = false; > mc.img.loadMovie(imageArray[i]); > mc.onEnterFrame = function() { > if (this.img._width > 0) { > this._width = thumbWidth; > this._height = thumbHeight; > this._visible = true; > delete this.onEnterFrame; > } > }; > if (++cols == visibleCols) cols = 0; > if (cols == 0) rows++; > } > } > > > This is a simple example. > > First, we set up some initial variables that you can play with. > Decide how many visible rows and columns you want and how much space > you want in between the thumbnails (gutter). It will then determine > the sizes of the thumbnails, rows and columns based on the dimensions > of MC_Mask. In this way, you can resize it easily by setting the > width and height of MC_Mask and calling draw() again. > > The draw function: > > Creates an empty movieclip inside MC_Container called thumbs. This > makes it easier to refresh the view by simply removing the thumbs clip > rather than removing every single movieclip inside it. > > Then we loop through the array of image paths you got from parsing > your XML. > > In the loop, we create a reference to an empty movieclip. The name of > the clip is "item" + i (item1, item2, etc.) and its depth is set to i. > We also make it invisible. > > We set its _x to the number of columns times the width of the columns > and its _y to the number of rows times the height of the rows. > > Inside that clip we create an empty movieclip to load the image into, > and tell it to load movie. > > Then, we put an onEnterFrame on the movieclip (not the image clip > because when you loadMovie, when it's done loading it will overwrite > onEnterFrame) that checks to see when the image has loaded, and then > resizes the image to the thumbWidth and thumbHeight we set above. > Then it makes the clip visible. We do this so the image doesn't show > until it's done loading and resized. > > Then we increment cols and see if it's equal to the visibleCols. If > it is, we reset it back to 0 so it draws from the left position again. > > If cols is equal to 0, then we know it's a new row so we increment rows. > > That's all there is to it. Doing a scrollbar is a different > discussion, and you could just as easily throw all of this into a > movieclip and put that movieclip into a scrollpane. You'll need to > use the undocumented command setScrollProperties on the scrollpane > once the images are finished loading, though, so keep that in mind > (google it for more info). > > Hope this helps, > Steven > > > _______________________________________________ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com http://training.figleaf.com > _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com