Custom Class Pointers

Hi,

Ok, so I’ve got my head around AS3 from a procedural approach, but I now want to write more code in class form.

As I do a bit with XML, I’ve written this little class for handling XML URL requests. Basically you pass it a url and a call back function you want notified when the XML is loaded. Similar to what you can do using the built in URL loader classes etc. I wanted to achieve that “Black Box” approach however, when I just have to create a new instance of a class and pass it the info I want, getting back what I want, without having to edit the class each time I want to pass it a different XML file url.

So, looking at the below, am I on the right track with this approach. This is the first AS3 class I have attempted to write.

Here is the class:

package {
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.events.*;
	import flash.net.URLRequest;
	import flash.net.URLLoader;

	public class loadXml extends Sprite {
		public var myXML:XML;
		public var myXLoader:URLLoader
		private var myXMLURL:URLRequest
		private var XML_URL:String
		
		public function loadXml(url:String, callBack:Function) {
			myXML = new XML();
			XML_URL = url;
			myXMLURL = new URLRequest(XML_URL);
			myXLoader = new URLLoader(myXMLURL);
			myXLoader.addEventListener("complete", callBack);			
		}
		
	}
}

And here is how I instantiate it and use it on the main timeline or in my documents class etc.

var testXML:XML = new XML();
var myloadXml:loadXml = new loadXml("gallery1.xml", checkLoad)

function checkLoad(evt:Event){
	testXML = XML(evt.target.data)
	trace(testXML)//outputs raw XML data, to be accessed how you see fit.
}

Things I have yet to figure out, are simply passing the class a var that the class will add the XML data to for me, and destroying the class event listener I create for the loading complete event.