I having an issue getting the path of an image loaded into my scroll bar. I am using XML. When I click on an image all I get is the instance name. Like instance31 or instance 32 and so on. I can’t seem to find away to get the actual image name or trace the path in my click event. Maybe my approach isn’t the best or correct. Can someone explain how I can get the information I want?C:-)
var space:int = 10;//space between cells
var w:int = 122;//width of cell
var h:int = 64;//height of cell
var xt:int = 0;
var yt:int = 0;
//create a XML data container that will be the source for the scrollpane
var mcHolder:MovieClip = new MovieClip();
//add container to the scrollpane
scrollBar_mc.addChild(mcHolder);
mcHolder.x = 20;
mcHolder.y = 8;
mcHolder.buttonMode = true;
//set up XML loader to load color list
var myXML:XMLList;
var myLoader:URLLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, xmlLoaded, false, 0, true);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false,0,true);
myLoader.load(new URLRequest("images.xml"));
var picImage:String;
var picloader:Loader;
var loadedGraphic:Sprite = new Sprite();
// Create the xmlLoaded function
function xmlLoaded(event:Event):void {
try {
myXML = XMLList(event.target.data);
myLoader.removeEventListener(Event.COMPLETE, xmlLoaded);
myLoader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
//Run the "for each" loop to iterate through all of
//the menu items listed in the external XML file
for each (var pic:XML in myXML..pic) {
picImage = pic.image.toString();
picloader = new Loader();
picloader.load(new URLRequest(picImage));
picloader.x = xt+10;
picloader.y = yt+3;
mcHolder.addChild(picloader);
picloader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded, false, 0, true);
xt = xt+w+space;
}
} catch (err:Error) {
trace("Could not parse loaded content as XML:
" + err.message);
}
}
//complete loaded image
function imageLoaded(event:Event):void {
//trace("loaded");
with (event.target) {
content.smoothing = true;
content.height = 54;
content.width = 103;
}
//add graphic behind image will look like
//rollover
var loadedGraphic:Sprite = new Sprite();
var L:Loader = event.target.loader as Loader;
mcHolder.addChild(loadedGraphic);
loadedGraphic.x = L.x;
loadedGraphic.y = L.y;
loadedGraphic.addChild(L.content);
loadedGraphic.addEventListener(MouseEvent.MOUSE_OVER, showHover);
loadedGraphic.addEventListener(MouseEvent.MOUSE_OUT, hideHover);
loadedGraphic.addEventListener(MouseEvent.CLICK, getPic);
}
function getPic(event:MouseEvent):void {
trace(event.currentTarget.name);//give instance name
}
function showHover(event:MouseEvent):void {
event.currentTarget.graphics.clear();
event.currentTarget.graphics.beginFill(0xFF0000);
event.currentTarget.graphics.drawRoundRect(-3, -3, event.currentTarget.width + 6, event.currentTarget.height + 6, 12, 12);
}
function hideHover(event:MouseEvent):void {
event.currentTarget.graphics.clear();
}
function onIOError(event:IOErrorEvent):void {
trace("An error occured when attempting to load the XML.
" + event.text);
}