Hey, i currently have this program reading 5 pictures out of a xml file. When i click on them it displays each one.
I want to make it so that it loads all 5 pictures up in thumbnail size. I have it resizing and displaying without removing the old image but i cant get custom x locations. If i change the holder x location it will change it for all of them.
Any idea how i can get 5 separate x locations for each image that i load using Loader? I dont really understand the code as we are supposed to expand upon it.
Any help is appreciated. Zip file is attached. But ill also post code here.
Main
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;
public class Main extends Sprite
{
public static var holder:Holder;
var galleryList;
public var nextImg:int = 1;
public function Main()
{
holder = new Holder();
addChild(holder);
galleryList = new GalleryList();
addChild(galleryList);
//addEventListener(Event.ENTER_FRAME, nextImage2);
addEventListener(MouseEvent.CLICK, nextImage);
}
public function loadImage(img:String):void
{
var imgLoad:Preloader = new Preloader(img);
addChild(imgLoad);
}
private function nextImage(mb:MouseEvent):void
{
if (holder.numChildren > 0)
{
loadImage(galleryList.galXML.theImage[nextImg].fileLoc.text());
nextImg++;
if(nextImg == galleryList.galXML.theImage.length())
{
nextImg = 0;
}
//holder.x = 50;
//holder.removeChildAt(0);
}
}
private function nextImage2(e:Event):void
{
if (holder.numChildren > 0)
{
loadImage(galleryList.galXML.theImage[nextImg].fileLoc.text());
nextImg++;
if(nextImg == galleryList.galXML.theImage.length())
{
nextImg = 0;
}
holder.removeChildAt(0);
}
}
}
}
GalleryList
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class GalleryList extends Sprite
{
private var xmlLoader:URLLoader = new URLLoader();
public var galXML:XML;
public function GalleryList()
{
xmlLoader.addEventListener(Event.COMPLETE, showXML);
xmlLoader.load(new URLRequest("ImageList.xml"));
}
public function showXML(e:Event):void
{
galXML = new XML(e.target.data);
var pldr:Preloader = new Preloader(galXML.theImage[0].fileLoc.text() );
addChild(pldr);
}
}
}
Holder
package
{
import flash.display.Sprite;
public class Holder extends Sprite
{
public function Holder()
{
scaleX = .05;
scaleY = .05;
}
}
}
Xml File
<imageList>
<theImage>
<imageTitle>Image 1</imageTitle>
<fileLoc>1323039874843.jpg</fileLoc>
</theImage>
<theImage>
<imageTitle>Image 2</imageTitle>
<fileLoc>1335409327270.jpg</fileLoc>
</theImage>
<theImage>
<imageTitle>Image 3</imageTitle>
<fileLoc>fc8b18ce47243279f4347c4703f573ce.jpg</fileLoc>
</theImage>
<theImage>
<imageTitle>Image 4</imageTitle>
<fileLoc>myImage.jpg</fileLoc>
</theImage>
<theImage>
<imageTitle>Image 5</imageTitle>
<fileLoc>4d02b4ba126b9cc973ee73872118cecb.jpg</fileLoc>
</theImage>
</imageList>
Preloader
package
{
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
public class Preloader extends Sprite
{
private var targetLdr:LoaderInfo;
private var percent:Number = 0;
private var MyUrl:String;
public function Preloader(newURL)
{
MyUrl = newURL;
var loader:Loader = new Loader();
targetLdr = loader.contentLoaderInfo;
targetLdr.addEventListener(ProgressEvent.PROGRESS, loadingData);
targetLdr.addEventListener(Event.COMPLETE, finishedLoading);
loader.load(new URLRequest (MyUrl) );
}
private function loadingData(evt:ProgressEvent):void
{
percent = targetLdr.bytesLoaded / targetLdr.bytesTotal;
graphics.clear();
graphics.beginFill(0x000000);
graphics.drawRect(0,400,1000,-1000);
graphics.beginFill(0xFF00B3);
graphics.drawRect(0,0,20,percent * 550);
graphics.beginFill(0x2200FF);
graphics.drawRect(20,400,20,-percent * 550);
graphics.beginFill(0xFF0000);
graphics.drawRect(40,0,20,percent * 550);
graphics.beginFill(0x8C00FF);
graphics.drawRect(60,400,20,-percent * 550);
graphics.beginFill(0x00FFF2);
graphics.drawRect(80,0,20,percent * 550);
graphics.beginFill(0x008CFF);
graphics.drawRect(100,400,20,-percent * 550);
graphics.beginFill(0x00FF6E);
graphics.drawRect(120,0,20,percent * 550);
graphics.beginFill(0xA2FF00);
graphics.drawRect(140,400,20,-percent * 550);
graphics.beginFill(0x9E0303);
graphics.drawRect(160,0,20,percent * 550);
graphics.beginFill(0xD45800);
graphics.drawRect(180,400,20,-percent * 550);
graphics.beginFill(0xFA75FF);
graphics.drawRect(200,0,20,percent * 550);
graphics.beginFill(0x95EDE7);
graphics.drawRect(220,400,20,-percent * 550);
graphics.beginFill(0xFFA600);
graphics.drawRect(240,0,20,percent * 550);
graphics.beginFill(0xFF0000);
graphics.drawRect(260,400,20,-percent * 550);
graphics.beginFill(0xB173F0);
graphics.drawRect(280,0,20,percent * 550);
graphics.beginFill(0xCCC612);
graphics.drawRect(300,400,20,-percent * 550);
graphics.beginFill(0x0C7036);
graphics.drawRect(320,0,20,percent * 550);
graphics.beginFill(0xF07373);
graphics.drawRect(340,400,20,-percent * 550);
graphics.beginFill(0x6AAD17);
graphics.drawRect(360,0,20,percent * 550);
graphics.beginFill(0x2B17AD);
graphics.drawRect(380,400,20,-percent * 550);
graphics.beginFill(0x97C1DE);
graphics.drawRect(400,0,20,percent * 550);
graphics.beginFill(0x97DE9C);
graphics.drawRect(420,400,20,-percent * 550);
graphics.beginFill(0xDE97D8);
graphics.drawRect(440,0,20,percent * 550);
graphics.endFill();
graphics.beginFill(0x007380);
graphics.drawRect(460,400,20,-percent * 550);
graphics.beginFill(0x6F8000);
graphics.drawRect(480,0,20,percent * 550);
graphics.beginFill(0x80002F);
graphics.drawRect(500,400,20,-percent * 550);
graphics.beginFill(0x150080);
graphics.drawRect(520,0,20,percent * 550);
graphics.beginFill(0x00801E);
graphics.drawRect(540,400,20,-percent * 550);
graphics.beginFill(0x800080);
graphics.drawRect(560,0,20,percent * 550);
}
private function finishedLoading(evt:Event):void
{
graphics.clear();
targetLdr.removeEventListener(ProgressEvent.PROGRESS, loadingData);
targetLdr.removeEventListener(Event.COMPLETE, finishedLoading);
Main.holder.addChild(targetLdr.content);
parent.removeChild(this);
}
}
}
Thanks
http://www.freemmorpgmaker.com/files/imagehost/pics/5deccd704ab166949e8ca8e0c003409f.zip