package {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
public class NewsDisplay extends Sprite {
private var hFormat:TextFormat= new TextFormat ();
private var mFormat:TextFormat= new TextFormat ();
private var dFormat:TextFormat= new TextFormat ();
private var headText:TextField;
private var mText:TextField;
private var dText:TextField;
public var ypos:Number = 100;
private var xml:XML;
public var newsHolder1:Sprite = new Sprite ();
public var newsHolder2:Sprite = new Sprite ();
private var newsDisplay1:DisplayObject;
private var newsDisplay2:DisplayObject;
private var urlLeft:String;
private var urlRight:String;
private var newsLoader1:Loader;
private var newsLoader2:Loader;
private var imgURL1:URLRequest;
private var imgURL2:URLRequest;
public function NewsDisplay () {
hFormat.size=20;
hFormat.font=new AvRoman ().fontName;
hFormat.color=0x000000;
hFormat.align='left';
mFormat.size=14;
mFormat.font=new AvLight ().fontName;
mFormat.color=0x333333;
mFormat.align='left';
dFormat.size=12;
dFormat.font=new AvLight ().fontName;
dFormat.color=0xAAAAAA;
dFormat.align='left';
}
public function loadNews(_xml:XML) : void {
xml = _xml;
var headList:XMLList = xml.item.(@folder == "news").item.@headline;
var mainList:XMLList = xml.item.(@folder =="news").item.@text;
var dateList:XMLList = xml.item.(@folder =="news").item.@date;
var imgListLeft:XMLList = xml.item.(@folder =="news").item.@imgNewsLeft;
var imgListRight:XMLList = xml.item.(@folder =="news").item.@imgNewsRight;
for (var k:int = 0; k < _xml.item.(@folder == "news").item.length(); k++) {
headText = new TextField;
headText.defaultTextFormat=hFormat;
headText.x = 5;
headText.y = ypos + 20;
headText.width = 700;
headText.autoSize = TextFieldAutoSize.LEFT;
headText.text = headList[k].toString();
headText.multiline=true;
headText.wordWrap = true;
headText.selectable=true;
headText.embedFonts = true;
dText = new TextField;
dText.defaultTextFormat=dFormat;
dText.x = 5;
dText.y = ypos + headText.height + 20;
dText.autoSize = TextFieldAutoSize.LEFT;
dText.width = 700;
dText.text = dateList[k].toString();
dText.multiline=true;
dText.wordWrap = true;
dText.selectable=true;
dText.embedFonts = true;
mText = new TextField;
mText.defaultTextFormat=mFormat;
mText.x = 5;
mText.y = ypos + headText.height + dText.height + 20;
mText.autoSize = TextFieldAutoSize.LEFT;
mText.width = 700;
mText.text = mainList[k].toString();
mText.multiline=true;
mText.wordWrap = true;
mText.selectable=true;
mText.embedFonts = true;
urlLeft = imgListLeft[k];
urlRight = imgListRight[k];
addChild(headText);
addChild(dText);
addChild(mText);
loadImgLeft();
loadImgRight();
ypos += headText.height + dText.height + mText.height + 50;
}
}
private function loadImgLeft () : void {
newsLoader1 = new Loader ();
newsLoader1.contentLoaderInfo.addEventListener(Event.COMPLETE, imgCompLeft);
var imgURL1:URLRequest = new URLRequest ('images/news/'+urlLeft);
newsLoader1.load(imgURL1);
}
private function loadImgRight () : void {
newsLoader2 = new Loader ();
newsLoader2.contentLoaderInfo.addEventListener(Event.COMPLETE, imgCompRight);
var imgURL2:URLRequest = new URLRequest ('images/news/'+urlRight);
newsLoader2.load(imgURL2);
}
private function imgCompLeft (evt:Event) : void {
newsDisplay1 = null;
newsDisplay1 = newsLoader1;
newsDisplay1.x += 5;
newsDisplay1.y = 150;
newsDisplay1.width = 261;
newsDisplay1.height = 361;
newsHolder1.addChild (newsDisplay1);
addChild(newsHolder1);
}
private function imgCompRight (evt:Event) : void {
newsDisplay2 = null;
newsDisplay2 = newsLoader2;
newsDisplay2.x = 285;
newsDisplay2.y = 150;
newsDisplay2.width = 261;
newsDisplay2.height = 361;
newsHolder2.addChild (newsDisplay2);
addChild(newsHolder2);
}
}
}
<item name="news" folder="news">
<item headline="Headline 1" date="Dec 07" text="Text 1" imgNewsLeft="sabrina1news.jpg" imgNewsRight="sabrina2news.jpg" >
</item>
<item headline="Headline 2" date="Dec 07" text="Text 2" imgNewsLeft="ericnews1.jpg" imgNewsRight="ericnews2.jpg" >
</item>
<item headline="Headline 3" date="Nov 2007" text="Text 3" imgNewsLeft="clauida1.jpg" imgNewsRight="clauida2.jpg" >
</item>
</item>
I’m trying to create a news page, which has a headline, text, a date and two images for each individual news item from XML. The text loads in fine, but as soon as images get involved it goes t*ts up. I am really struggling to see where I am going wrong…debugging, there seems to be no problem, it will only display the final images, rather than all six.
:huh: