I have an xml gallery sort of that works fine when I have the code not as a class, in first frame in Flash.
So I decided I wanted to port it into a class and the problem I get is at:
thumb = new Thumbnail(xmlList.image);*
It expects 0 arguments. How come that line of code works in first frame in flash but not as a class?
There is a movieclip in the library called thumb with linkage of Thumbnail.
Below if the code when used in first frame:
var urlRequest:URLRequest = new URLRequest("pics.xml");
var urlLoader:URLLoader = new URLLoader();
var xml:XML;
var xmlList:XMLList;
urlLoader.load(urlRequest);
urlLoader.addEventListener(Event.COMPLETE,urlLoaded);
var arrayThumb:Array = new Array();
var photoContainer:Sprite = new Sprite();
addChild(photoContainer);
photoContainer.mask=thumb_holder;
function urlLoaded(event:Event):void {
xml = XML(event.target.data);
xmlList = xml.children();
trace(xmlList.length());
for (var i:int=0; i<xmlList.length(); i++) {
var thumb:Thumbnail = new Thumbnail(xmlList*.url);
arrayThumb.push(thumb);
arrayThumb*.y = 67.5;
arrayThumb*.x = i*100+55;
photoContainer.addChild(thumb);
}
}
Here is the class
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class SliderClass2 extends Sprite{
private var urlRequest:URLRequest;
private var urlLoader:URLLoader;
private var xml:XML;
private var xmlList:XMLList;
private var arrayThumb:Array = new Array();
private var photoContainer:Sprite = new Sprite();
private var thumb:Thumbnail;
public function SliderClass2() {
urlRequest= new URLRequest("images.xml");
urlLoader = new URLLoader();
urlLoader.load(urlRequest);
urlLoader.addEventListener(Event.COMPLETE,urlLoaded);
addChild(photoContainer);
}
function urlLoaded(event:Event):void {
xml = XML(event.target.data);
xmlList = xml.children();
trace(xmlList.length());
for (var i:int=0; i<xmlList.length; i++) {
trace(xmlList*.image);
thumb = new Thumbnail(xmlList*.image);
//thumb = new Thumbnail();
arrayThumb.push(thumb);
arrayThumb*.y = 67.5;
arrayThumb*.x = i*100+55;
photoContainer.addChild(thumb);
}
}
}
}