i’m including my code here…in addition to the buttons, i need to figure out how to reset properties inside of a display object - inside Thumbnail.as: i need to have a box (and it’s related assets) reset the x properties so that the thumbs don’t fall off the right side of my layout. i’m handling putting the thumb_mcs on the screen in the main as file.
any help would be appreciated…i’m especially flummoxed on how to get the buttons to work.
here’s my main document class:
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.display.Loader;
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
public class Main extends Sprite {
private var imagesXML:XML;
private var counter:uint;
private var thumbs:Array = new Array();
private var thumb_mc:Sprite;
private var contents_mc:Sprite;
private var prevBtn:PrevBTN;
private var nextBtn:NextBTN;
private var currevent:Thumbnail;
private var activityid:Thumbnail;
private var activity:Thumbnail;
private var stroke:Shape;
private var eventNum:Number;
private var totalEvents:Number;
private var xmlList:XMLList;
private var eventDetail:CalendarEvent = new CalendarEvent();
public function Main() {
var url:URLRequest=new URLRequest("data.xml");
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, urlLoadCompleteHandler);
urlLoader.load(url);
}
public function urlLoadCompleteHandler(e:Event):void {
imagesXML=new XML(e.target.data);
displayAllImages(imagesXML);
xmlList=imagesXML.children();
var totalEvents:Number=xmlList.length();
var eventNum:Number=0;
trace(totalEvents + " total events");
}
public function displayAllImages(xml:XML):void {
var eventid:XMLList=xml.activity.eventid;
var currentevent:XMLList=xml.activity.currentevent;
var date:XMLList=xml.activity.date;
var title:XMLList=xml.activity.title;
var image:XMLList=xml.activity.image;
var thumb:XMLList=xml.activity.thumb;
var credit:XMLList=xml.activity.credit;
var caption:XMLList=xml.activity.caption;
var blurb:XMLList=xml.activity.blurb;
var totalEvents:Number=xml.length() - 1;
var eventNum:Number=0;
var nextBtn:MovieClip = new NextBTN();
nextBtn.x = 513;
nextBtn.y = 190;
//nextBtn = eventid.length();
nextBtn.buttonMode=true;
nextBtn.mouseChildren=false;
nextBtn.addEventListener(MouseEvent.CLICK, onNextSlide, false, 0, true);
addChild(nextBtn);
var prevBtn:MovieClip = new PrevBTN();
prevBtn.x = 370;
prevBtn.y = 190;
//prevBtn = eventid.length();
prevBtn.buttonMode=true;
prevBtn.mouseChildren=false;
prevBtn.addEventListener(MouseEvent.CLICK, onPrevSlide, false, 0, true);
addChild(prevBtn);
eventDetail.x=2;
eventDetail.y=240;
addChild(eventDetail);
for (var j:uint = 0; j<thumb.length(); j++) {
displayThumb(thumb[j], title[j], date[j], eventid[j], currentevent[j], image[j], blurb[j], credit[j], caption[j]);
}
displayEvent(currevent);
//displayEvent(activityid);
}
public function displayEvent(activity:Thumbnail):void {
eventDetail.loadEvent(activity);
}
public function displayThumb(thumb:String, title:String, date:String, activityid:String, currentevent:String, image:String, blurb:String, credit:String, caption:String):void {
var stroke:Shape = new Shape();
stroke.graphics.lineStyle(5, 0xFFCC66, 1, true, "none", null, JointStyle.MITER, 3);
stroke.graphics.drawRect(6, 2, 71, 71);
var thumb_mc:Thumbnail=new Thumbnail(thumb,title,date);
if (currentevent=="true") {
currevent=thumb_mc;
thumb_mc.addChild(stroke);
stroke.visible=true;
trace(activityid + " currevent");
}
thumb_mc.x=counter*86;
thumb_mc.y=10;
thumb_mc.name = "thumb";
thumbs.push();
thumb_mc.addEventListener(MouseEvent.MOUSE_UP, clickOnThumb, false, 0, true);
if (thumb_mc.x>=stage.stageWidth-5) {
thumb_mc.x=thumb_mc.x-thumb_mc.width-346;
thumb_mc.y=thumb_mc.height+10;
}
addChild(thumb_mc);
thumb_mc.activityid=activityid;
thumb_mc.activitythumb=thumb;
thumb_mc.activitytitle=title;
thumb_mc.activitydate=date;
thumb_mc.activityimage=image;
thumb_mc.activitycredit=credit;
thumb_mc.activitycaption=caption;
thumb_mc.activityblurb=blurb;
counter++;
}
public function onNextSlide(e:MouseEvent):void {
if (eventNum >= totalEvents) {
eventNum = 0;
} else {
eventNum++;
}
}
public function onPrevSlide(e:MouseEvent):void {
if (eventNum <= 0) {
eventNum = totalEvents + 1;
}
eventNum--;
}
public function clickOnThumb(e:MouseEvent):void {
displayEvent(e.target as Thumbnail);
}
}
}