Gday team,
I am currently building a XML gallery which works, and has one row of scrolling thumbnails to click on that display larger image in the centre of my site.
What I am trying to build is two rows of thumbnails that can scroll backwards and forwards; below is the code i have used to make the single line of thumbnails, could any one point out or help me how i would go about to have two rows of thumbnails please.
import caurina.transitions.Tweener;
var myXML:XML = new XML();
var thumbsArray:Array = new Array();
var thumbsCount:int;
var imageNum:int;
var slideLength:Number = 360;
var slideAmount:Number;
var slideNum:Number = 0;
var imageLoader:Loader = new Loader();
var descriptionArray:Array = new Array();
var cssLoader:URLLoader = new URLLoader();
var cssRequest:URLRequest = new URLRequest(“example.css”);
var myStyle:StyleSheet = new StyleSheet();
trace(slideNum);
cssLoader.load(cssRequest);
cssLoader.addEventListener(Event.COMPLETE,onCssComplete);
function onCssComplete(event:Event):void{
//trace(“text loaded”);
myStyle.parseCSS(cssLoader.data);
MovieClip(parent).image_txt.styleSheet=myStyle;
}
createThumbs();
//xml import:
xmlHelper(“xml/images.xml”);
function xmlHelper(xmlFile:String):void{
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest(xmlFile));
loader.addEventListener(Event.COMPLETE, XMLComplete);
}
//xml load complete:
function XMLComplete(event:Event):void{
//using the event to get data from the loader:
myXML = new XML(event.target.data);
trace("1) myXML = "+myXML);
//get a list of items from the XML object:
var myXMLList:XMLList = myXML.item.thumb;
var descXMLList:XMLList=myXML.item.description;
trace("2) myXMLList = "+myXMLList);
//iterate thru the xml list and put the contents of each tag into the array:
for each(var node:XML in myXMLList){
thumbsArray.push(node);
}
for each(var node2:XML in descXMLList){
descriptionArray.push(node2);
}
trace("3) thumbsArray = "+thumbsArray);
thumbsCount = thumbsArray.length;
slideAmount = Math.ceil((thumbsCount*120)/360);
createThumbs();
}
function createThumbs():void{
for(var i:int = 0; i< thumbsCount; i++){
//add thumb to stage
var myThumb:Thumbnail = new Thumbnail();
content_mc.addChild(myThumb);
myThumb.buttonMode = true;
myThumb.x = (120i)+13;
myThumb.i = i+1;
myThumb.num = myThumb.i;
//load thumb image
var loader:Loader = new Loader();
var thumb:String = thumbsArray;
//trace("thumb = "+thumb);
var req:URLRequest = new URLRequest(thumb);
loader.load(req);
myThumb.addChild(loader);
loader.y = .0;
loader.x = .0;
myThumb.addEventListener(MouseEvent.CLICK,thumbClick);
}
}
function thumbClick(event:MouseEvent):void{
var myNum:int=event.currentTarget.i;
//currentTarget is the item that you added the event to.
trace("num = "+event.currentTarget.num);
imageNum = event.currentTarget.num;
MovieClip(parent).image_txt.htmlText=descriptionArray[myNum];
MovieClip(parent).image_txt.condenseWhite = true;
MovieClip(parent).image_txt.wordWrap= true;
tweenImageOut();
}
function tweenImageOut():void{
Tweener.addTween(MovieClip(root).loader_mc, {alpha:0, time:.5, transition:“linear”, onComplete:this.loadImage});
}
function loadImage():void{
MovieClip(root).loader_mc.alpha = 0;
var image:String = “images/large_”+imageNum+".jpg";
var req:URLRequest = new URLRequest(image);
imageLoader.load(req);
MovieClip(root).loader_mc.addChild(imageLoader);
Tweener.addTween(MovieClip(root).loader_mc, {alpha:1, time:.3, transition:“linear”});
}
down_btn.addEventListener(MouseEvent.CLICK, clickDown);
function clickDown(event:MouseEvent):void{
trace(slideNum);
if(slideNum < 0){
slideNum++;
var moveTo:Number = 360*slideNum;
Tweener.addTween(content_mc, {x:moveTo,time:1, transition:“easeOutExpo”});
}
}
up_btn.addEventListener(MouseEvent.CLICK, clickUp);
function clickUp(event:MouseEvent):void{
if(slideNum > 1 - slideAmount){
slideNum–;
trace(slideNum);
var moveTo:Number = 360*slideNum;
Tweener.addTween(content_mc, {x:moveTo,time:1, transition:"easeOutExpo"});
}
}
Sm00th