I set up an xml file and loader to display thumbs in my scroll pane. I think I am adding the images using the correct methods but when I want to click on a thumbnail and trace what I clicked on the output just reveals [object Loader]. I want to load the bigPic into the picHolder movieClip. I am sure there is something fundamental I am missing. Any help appreciated.
import fl.containers.ScrollPane;
import fl.controls.ScrollPolicy;
import flash.display.MovieClip;
//
var space:int = 25;//space between images
var xt:int = 0;
var yt:int = 0;
var w:int = 0;
//create a movie clip to hold the large images
var picHolder:MovieClip = new MovieClip();
addChild(picHolder);
picHolder.width=400;
picHolder.height=300
picHolder.x=10;
picHolder.y=10;
// create a movie clip to be the source for the scroll pane
var imageHolder:MovieClip = new MovieClip();
addChild(imageHolder);
//create a scrollPane and load the imageHolder into the scrollPane
var imagePane:ScrollPane = new ScrollPane();
imagePane.setSize(320, 120);
imagePane.move(10, 230);
imagePane.source = imageHolder;
addChild(imagePane);
//load XML file
var imagesXML:XML;
var imagesXMLLoader:URLLoader = new URLLoader();
imagesXMLLoader.addEventListener(Event.COMPLETE, xmlImagesLoaded, false, 0, true);
imagesXMLLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false,0,true);
imagesXMLLoader.load(new URLRequest("images.xml"));
function xmlImagesLoaded(event:Event):void {
try {
imagesXML = XML(event.target.data);
imagesXMLLoader.removeEventListener(Event.COMPLETE, xmlImagesLoaded);
imagesXMLLoader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
for each (var pic:XML in imagesXML..pic) {
var thumbPic:String = pic.image.toString();
var bigPic:String = pic.bigImage.toString();
var thumbCaption:String = pic.caption.toString();
//trace(thumbPic);
//trace(bigPic);
//trace(thumbCaption);
//load thumbimage
var picloader:Loader = new Loader();
picloader.load(new URLRequest(thumbPic));
addChild(picloader);
picloader.x = xt+10;
picloader.y = yt+10;
//set text up for captions
var myText1:TextField = new TextField();
var format:TextFormat = new TextFormat();
format.font = "Arial";
format.size = 12;
format.kerning = 0;
//format.align = TextFormatAlign.LEFT;
myText1.defaultTextFormat = format;
myText1.text = thumbCaption;
myText1.autoSize = TextFieldAutoSize.LEFT;
myText1.x = xt+10;
myText1.y = yt+80;
//w = myText1.width;
imageHolder.addChild(picloader);
imageHolder.addChild(myText1);
w = 110;
//set spacing for captions
xt = xt+w+space;
imagePane.update();
imageHolder.addEventListener(MouseEvent.CLICK, getBigPic, false, 0, true);
imageHolder.buttonMode = true;
}
} catch (err:Error) {
trace("Could not parse loaded content as XML:
" + err.message);
}
}
function onIOError(event:IOErrorEvent):void {
trace("An error occured when attempting to load the XML.
" + event.text);
}
function getBigPic(event:MouseEvent):void {
trace(event.target);
}