[Tweener] Loading images via xml

Gerry Creighton gerry at thespikeranch.com
Sat Oct 4 08:49:21 PDT 2008


Since I had a couple of minutes I just threw this together that might  
help you out.

I dragged a Loader component onto the stage to speed things up and  
then gave it an instance name of "my_ldr".
This code is in the help files...I changed some things however.

<code>
/* on frame one of the main timeline */
/* load images from xml */

var doc:String = "images.xml";
var startx:Number = 20;
var starty:Number = 20;
//loader
var loaderListener:Object = new Object();
loaderListener.progress = function(evt_obj:Object):Void {
     trace(evt_obj.type); // progress
     trace("\t" + evt_obj.target.bytesLoaded + " of " +  
evt_obj.target.bytesTotal + " bytes loaded");
}
loaderListener.complete = function(evt_obj:Object):Void {
     trace(evt_obj.type); // complete
}
my_ldr.addEventListener("progress", loaderListener);
my_ldr.addEventListener("complete", loaderListener);

//xml
var myXML:XML = new XML();
myXML.ignoreWhite=true;
myXML.load(doc);
myXML.onLoad = function(success) {
    if (success) {
	   var myImage = myXML.firstChild.childNodes;
	   for (var i:Number = 0; i<myImage.length; i++) {
		   var imageNumber = i+1;
		   var imageName:String = myImage[i].attributes.title;
		   var imageURL:String = myImage[i].firstChild.nodeValue;
		   trace ("Image number is "+imageNumber+", is titled "+imageName+"  
and is located in "+imageURL+".");
		   //make a button to load image
		   var _btn:MovieClip = drawRectangle(i,imageName,imageURL,100, 20,  
0x333333, 100);
		   _btn._x = startx;
		   _btn._y = starty+(_btn._height+1) * i;
		}
    }
};
//rectangle
function  
drawRectangle(nm:Number,txt:String,imageUrl:String,boxWidth:Number,  
boxHeight:Number, fillColor:Number, fillAlpha:Number):MovieClip {
	
	//this function creates a button with a text label and calls function  
to load image
	var img_btn:MovieClip = createEmptyMovieClip("img_btn"+nm,nm);
	var my_fmt:TextFormat = new TextFormat();
         my_fmt.color = 0xFFFFFF;
	my_fmt.font = "Arial";
	my_fmt.size = 12;
	//                      ("my_txt", 1, 100, 100, 300, 100);
	img_btn.createTextField("tf",1,1,1,98,18);
	img_btn.tf.type = "dynamic";
	img_btn.tf.multiline = false;
	img_btn.tf.text = txt;
	img_btn.tf.setTextFormat(my_fmt);

     with (img_btn) {
         beginFill(fillColor, fillAlpha);
         moveTo(0, 0);
         lineTo(boxWidth, 0);
         lineTo(boxWidth, boxHeight);
         lineTo(0, boxHeight);
         lineTo(0, 0);
         endFill();
     }
	img_btn.onRelease = function(){
			   loadImg(imageUrl);
	}
	
	return img_btn;
}
//
function loadImg(img:String):Void{
	my_ldr.load(img);
	trace("load image: "+img);
}

</code>




On Oct 4, 2008, at 10:26 AM, Philip Ames wrote:

> Hi Gerry, thanks for your response. I'm using AS2 but didn't get  
> much help
> from the help section.
>
> I'm using the following slice of code to try and pull in the XML on  
> the
> first frame of itemList, which is a child of the main stage...
> ---------------------
> var myXML:XML = new XML();
> myXML.ignoreWhite=true;
> myXML.load("images.xml");
> myXML.onLoad = function(success) {
>    if (success) {
>    var myImage = myXML.firstChild.childNodes;
>    for (i=0; i<myImage.length; i++) {
>        var imageNumber = i+1;
>        var imageName = myImage[i].attributes.title;
>        var imageURL = myImage[i].firstChild.nodeValue;
>        trace ("Image number is "+imageNumber+", is titled "+imageName 
> +" and
> is located in "+imageURL+".")
>        }
>    }
> };
> ---------------------
> And my XML is set up...
> ---------------------
> <gallery>
> <image title="image1">images/1.jpg</image>
> <image title="image2">images/2.jpg</image>
> <image title="image3">images/3.jpg</image>
> <image title="image4">images/4.jpg</image>
> <image title="image5">images/5.jpg</image>
> </gallery>
> ---------------------
>
> The trace returns everything it is supposed to, but the images do  
> not load.
> I've checked the paths and they are correct.
>
> Any notions of what I'm doing wrong?
>
> Thanks in advance
>
>
> _______________________________________________
> Tweener mailing list
> Tweener at lists.caurinauebi.com
> http://lists.caurinauebi.com/listinfo.cgi/tweener-caurinauebi.com



More information about the Tweener mailing list