i write actionscript to load random pics in XML file, and it will change random pics again when we click button, My problem is : when i click button, 4 images disappear… i dont know why even i debug… plz somebody help . by the way i want to insert 4 links into 4 pics when we click into a pics we will get to the link, how can i do that ?
somebody help me , thank you so much.
here is my code :
var listLoader:URLLoader = new URLLoader(new URLRequest(“picslistTest.xml”));
var arrPicList:Array = new Array();
var imgNumber:Number;
var picsXML:XML;
var pHeight:Number = 200;
var pWidth:Number = 200;
listLoader.addEventListener(Event.COMPLETE, gotList);
function gotList(evt:Event):void
{
var arrPicLoader:Array = new Array();
picsXML = XML(listLoader.data);
imgNumber = picsXML.pics.length();
var arrShuffled:Array = shuffleList(imgNumber);
var stImage:String;
for(var i = 0; i < imgNumber; i++)
{
stImage = picsXML.pics[arrShuffled*].toString();
arrPicLoader* = new Loader();
arrPicLoader*.contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic)
arrPicLoader*.load(new URLRequest(stImage));
}
btnChange.visible = true;
listLoader.removeEventListener(Event.COMPLETE, gotList);
}
//return a array containing numbers 0, 1, 2 … n-1 in random order
function shuffleList(n:Number):Array
{
var startList:Array = new Array(n);
var endList:Array = new Array(n);
var i,j:Number;
for(i = 0; i < n; i++)
{
startList* = i;
}
for(i = 0; i < n; i++)
{
j = Math.floor(Math.random()startList.length);
endList = startList.splice(j,1)[0];
}
return(endList);
}
//
function gotPic(evt:Event):void
{
var thisBmp:Bitmap = Bitmap(evt.target.content);
var thisWidth:Number = thisBmp.width;
var thisHeight:Number = thisBmp.height;
thisBmp.scaleX = pWidth/thisWidth;
thisBmp.scaleY = pHeight/thisHeight;
arrPicList.push(thisBmp);
if(arrPicList.length == imgNumber)
{
placePictures();
}
btnChange.visible = true;
}
btnChange.addEventListener(MouseEvent.CLICK, anotherPics);
function placePictures():void
{
for(var i = 0; i < arrPicList.length; i++)
{
arrPicList*.x = pWidthMath.floor(i/2);
arrPicList.y = pHeight*(i%2);
addChildAt(arrPicList*, 0);
}
}
function anotherPics(mevt:MouseEvent):void
{
btnChange.visible = false;
for(var i = 0; i < arrPicList.length; i++)
{
removeChild(arrPicList*);
}
var arrAnotherShuffled:Array = shuffleList(imgNumber);
var stAnotherImage:String;
var arrAnotherPicLoader:Array = new Array();
for(var a = 0; a < imgNumber; a++)
{
trace(“1” + a);
stAnotherImage = picsXML.pics[arrAnotherShuffled[a]].toString();
arrAnotherPicLoader[a] = new Loader();
arrAnotherPicLoader[a].contentLoaderInfo.addEventListener(Event.COMPLETE, gotPic)
arrAnotherPicLoader[a].load(new URLRequest(stAnotherImage));
}
}