Copy link to clipboard
Copied
Hello,
I have the code below to display some text and image on the screen how to modify the code to make it more dynamic:
var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);
// Add Title
rssNews.rss1.title1.text = xmlData.news[0].title;
rssNews.rss2.title2.text = xmlData.news[1].title;
rssNews.rss3.title3.text = xmlData.news[2].title;
rssNews.rss4.title4.text = xmlData.news[3].title;
rssNews.rss5.title5.text = xmlData.news[4].title;
rssNews.rss6.title6.text = xmlData.news[5].title;
rssNews.rss7.title7.text = xmlData.news[6].title;
rssNews.rss8.title8.text = xmlData.news[7].title;
rssNews.rss9.title9.text = xmlData.news[8].title;
rssNews.rss10.title10.text = xmlData.news[9].title;
// Add Description
rssNews.rss1.text1.text = xmlData.news[0].description;
rssNews.rss2.text2.text = xmlData.news[1].description;
rssNews.rss3.text3.text = xmlData.news[2].description;
rssNews.rss4.text4.text = xmlData.news[3].description;
rssNews.rss5.text5.text = xmlData.news[4].description;
rssNews.rss6.text6.text = xmlData.news[5].description;
rssNews.rss7.text7.text = xmlData.news[6].description;
rssNews.rss8.text8.text = xmlData.news[7].description;
rssNews.rss9.text9.text = xmlData.news[8].description;
rssNews.rss10.text10.text = xmlData.news[9].description;
// Add Title
var myLoader:Loader = new Loader();
var fileRequest:URLRequest = new URLRequest(xmlData.news[0].image);
myLoader.load(fileRequest);
rssNews.rss1.image1.addChild(myLoader);
var myLoader2:Loader = new Loader();
var fileRequest2:URLRequest = new URLRequest(xmlData.news[1].image);
myLoader2.load(fileRequest2);
rssNews.rss2.image2.addChild(myLoader2);
var myLoader3:Loader = new Loader();
var fileRequest3:URLRequest = new URLRequest(xmlData.news[2].image);
myLoader3.load(fileRequest3);
rssNews.rss3.image3.addChild(myLoader3);
var myLoader4:Loader = new Loader();
var fileRequest4:URLRequest = new URLRequest(xmlData.news[3].image);
myLoader4.load(fileRequest4);
rssNews.rss4.image4.addChild(myLoader4);
var myLoader5:Loader = new Loader();
var fileRequest5:URLRequest = new URLRequest(xmlData.news[4].image);
myLoader5.load(fileRequest5);
rssNews.rss5.image5.addChild(myLoader5);
var myLoader6:Loader = new Loader();
var fileRequest6:URLRequest = new URLRequest(xmlData.news[5].image);
myLoader6.load(fileRequest6);
rssNews.rss6.image6.addChild(myLoader6);
var myLoader7:Loader = new Loader();
var fileRequest7:URLRequest = new URLRequest(xmlData.news[6].image);
myLoader7.load(fileRequest7);
rssNews.rss7.image7.addChild(myLoader7);
var myLoader8:Loader = new Loader();
var fileRequest8:URLRequest = new URLRequest(xmlData.news[7].image);
myLoader8.load(fileRequest8);
rssNews.rss8.image8.addChild(myLoader8);
var myLoader9:Loader = new Loader();
var fileRequest9:URLRequest = new URLRequest(xmlData.news[8].image);
myLoader9.load(fileRequest9);
rssNews.rss9.image9.addChild(myLoader9);
var myLoader10:Loader = new Loader();
var fileRequest10:URLRequest = new URLRequest(xmlData.news[9].image);
myLoader10.load(fileRequest10);
rssNews.rss10.image10.addChild(myLoader10);
// Add URL
rssNews.rss1.info1.addEventListener(MouseEvent.CLICK, rss01);
rssNews.rss2.info2.addEventListener(MouseEvent.CLICK, rss02);
rssNews.rss3.info3.addEventListener(MouseEvent.CLICK, rss03);
rssNews.rss4.info4.addEventListener(MouseEvent.CLICK, rss04);
rssNews.rss5.info5.addEventListener(MouseEvent.CLICK, rss05);
rssNews.rss6.info6.addEventListener(MouseEvent.CLICK, rss06);
rssNews.rss7.info7.addEventListener(MouseEvent.CLICK, rss07);
rssNews.rss8.info8.addEventListener(MouseEvent.CLICK, rss08);
rssNews.rss9.info9.addEventListener(MouseEvent.CLICK, rss09);
rssNews.rss10.info10.addEventListener(MouseEvent.CLICK, rss10);
function rss01(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[0].url));
}
function rss02(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[1].url));
}
function rss03(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[2].url));
}
function rss04(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[3].url));
}
function rss05(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[4].url));
}
function rss06(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[5].url));
}
function rss07(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[6].url));
}
function rss08(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[7].url));
}
function rss09(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[8].url));
}
function rss10(e:MouseEvent):void
{
navigateToURL(new URLRequest(xmlData.news[9].url));
}
Regards,
use:
...
var xmlList:XMLList;
var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);
xmlList = xmlData.news;
for(var i:int=0;i<xmlList.length();i++)
{
rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;
rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;
rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader(); // if the compiler complains, cast rssNews["rss"+(i+1)]["image"+(i+1)] as a movieclip. ie: MovieClip(rssNews["rss"+(i+1)]["image"+(i+1)]).loade
Copy link to clipboard
Copied
i don't see where you're displaying any of the loaded images and it's not clear how you want to do that.
Copy link to clipboard
Copied
i display it in a MovieClip name image1 which inside another MovieClip name rss1...
Ok, I have MovieClip with a name of "rssNews" which has another multi MovieClip named from "rss1" to "rss10". each one of this MovieClips "rss1" for example have 4 MovieClips inside it the firts is "title1" to display the title, the secound "text1" to display the description, the third "info1" to NavigateToURL & the last one "image1" to display the image...
Lets start with the display titles only using For statment
var xmlList:XMLList;
var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);
xmlList = xmlData.news;
for each (var grade:XML in xmlList)
{
rssNews.rss1.title1.text = xmlData.news[0].title;
}
How to do that same with each title or i have to use add rss1 to rss10 into array with the name of rss and do the same to title...?!
Copy link to clipboard
Copied
use:
var xmlList:XMLList;
var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);
xmlList = xmlData.news;
for(var i:int=0;i<xmlList.length();i++)
{
rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;
rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;
rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader(); // if the compiler complains, cast rssNews["rss"+(i+1)]["image"+(i+1)] as a movieclip. ie: MovieClip(rssNews["rss"+(i+1)]["image"+(i+1)]).loader
rssNews["rss"+(i+1)]["image"+(i+1)].loader.load(new URLRequest(xmlList.url));
}
Copy link to clipboard
Copied
Thanks kglad, the Title & the description work fine but the image does not display at all.
Copy link to clipboard
Copied
like i mentioned in my first message, you're not displaying any images and it's not clear how you want to display them. but if you want to display them all, just add the loader to the display list:
var xmlList:XMLList;
var xmlData:XML = new XML(MovieClip(this.parent).xmlDocs[3]);
xmlList = xmlData.news;
for(var i:int=0;i<xmlList.length();i++)
{
rssNews["rss"+(i+1)]["title"+(i+1)].text = xmlList.title;
rssNews["rss"+(i+1)]["text"+(i+1)].text = xmlList.description;
rssNews["rss"+(i+1)]["image"+(i+1)].loader=new Loader();
addChild(rssNews["rss"+(i+1)]["image"+(i+1)].loader);
rssNews["rss"+(i+1)]["image"+(i+1)].loader.load(new URLRequest(xmlList.url));
}
Find more inspiration, events, and resources on the new Adobe Community
Explore Now