-
can't get as2 to display second xml txt field
Hi, I've got an xml banner that i'm working on. I've got the images loading fine and one txt field loading but the second txt field only loads the same node as the first and it doesn't matter what I change in the AS. I need to put buttons on the top too to point to the specific slides but i can deal with that later, right now i just want to get the second piece of txt loading.
It's the showPrice that I can't get to work.
This is the code in the first frame of my movie:
Actionscript Code:
//Load from XML File stop(); //Banner var banners:Array = new Array(); //Image Path var imagePaths:Array = new Array(); //Link URL var links:Array = new Array(); //Body Text var bodyTexts:Array = new Array(); // var imageTime:Number; // var numberOfBanners:Number; // var isRandom:String; // var showHeader:String; // var bannersXML:XML = new XML(); bannersXML.ignoreWhite = true; bannersXML.load("banners.xml"); bannersXML.onLoad = function(success) { if (success) { trace("XML LOADED"); imageTime = parseInt(this.firstChild.firstChild.firstChild)*1000; numberOfBanners = parseInt(this.firstChild.childNodes[1].firstChild); isRandom = this.firstChild.attributes["isRandom"]; showHeader = this.firstChild.childNodes[2].attributes["showHeader"]; showPrice = this.firstChild.childNodes[3].attributes["showPrice"];
var bannerSequence:Array = new Array(); if (isRandom == "true") { //Make a random sequence while (bannerSequence.length<numberOfBanners) { newRandomNumber = random(numberOfBanners); //Make sure that the random one chosen is not already chosen for (var i = 0; i<=bannerSequence.length; i++) { if (newRandomNumber != bannerSequence[i]) { alreadyThere = false; } else { alreadyThere = true; break; } } //Add only random values that aren't in the array if (!alreadyThere) { bannerSequence.push(newRandomNumber); } } } else { for (var i = 0; i<numberOfBanners; i++) { bannerSequence.push(i); } } }
//Read XML in the Random Order Chosen for (var i = 0; i<numberOfBanners; i++) { banners.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].firstChild.firstChild.toString()); bodyTexts.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[1].firstChild.nodeValue); bodyTexts2.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[4].firstChild.nodeValue); imagePaths.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[2].firstChild.nodeValue); //links.push(this.firstChild.childNodes[2].childNodes[bannerSequence[i]].childNodes[3].firstChild.nodeValue); } play(); }; //Start the image counter at 0 var imageCounter = 0;
and this is the code in the second:
Actionscript Code:
stop(); //Check to see if the banner should be reset if (imageCounter>=banners.length) { imageCounter = 0; } //Load banner image var imageLoader:MovieClipLoader = new MovieClipLoader(); imageLoader.loadClip("img/"+imagePaths[imageCounter],bannerContainer_mc); var loadingListener:Object = new Object(); loadingListener.onLoadComplete = function() { play(); //Display Header if (showHeader == "true") { imageText_mc.headerTxt.text = banners[imageCounter].toString(); imageText_mc.priceTxt.text = banners[imageCounter].toString(); } else { imageText_mc.headerTxt.text = ""; imageText_mc.priceTxt.text = ""; imageText_mc._alpha = 0; } //Button and Link Handling if (links[imageCounter] != null) { trace("LINK : "+links[imageCounter]); bannerContainer_mc.onRelease = function() { getURL(links[imageCounter], "_blank"); }; } else { delete bannerContainer_mc.onRelease; } }; imageLoader.addListener(loadingListener);
-
Getting somewhere but still not close enough yet
I noticed I hadn't declared showPrice in the xml file.
Still no luck loading the right node in it yet though, I also changed the second frame code to:
Actionscript Code:
stop(); //Check to see if the banner should be reset if (imageCounter>=banners.length) { imageCounter = 0; } //Load banner image var imageLoader:MovieClipLoader = new MovieClipLoader(); imageLoader.loadClip("img/"+imagePaths[imageCounter],bannerContainer_mc); var loadingListener:Object = new Object(); loadingListener.onLoadComplete = function() { play(); //Display Header if (showHeader == "true") { imageText_mc.headerTxt.text = banners[imageCounter].toString(); } else { imageText_mc.headerTxt.text = ""; imageText_mc._alpha = 0; } //Display Price if (showPrice == "true") { priceText_mc.priceTxt.text = banners[imageCounter].toString(); } else { priceText_mc.priceTxt.text = ""; imageText_mc._alpha = 0; } //Button and Link Handling if (links[imageCounter] != null) { trace("LINK : "+links[imageCounter]); bannerContainer_mc.onRelease = function() { getURL(links[imageCounter], "_blank"); }; } else { delete bannerContainer_mc.onRelease; } }; imageLoader.addListener(loadingListener);
-
Where are you incrementing 'imageCounter'?
-
thought i could use it in my next step, (actually it came with the source) but i also need to put a tab up per image, have the tab relative to the image change color while that image is on deck and clickable to that image when it isnt...
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|